Spring 框架 WebFlux 响应式编程
Spring Framework WebFlux Reactive Programming
我正在尝试将对象发送到端点,但我不明白为什么我不能使用 .get() 来完成,为什么必须使用 .post()?如果端点方法接受一个对象并对其执行某些操作,而 returns 一个对象怎么办?我可能想将一个对象发送到将对象作为参数的端点。有办法吗?如何将客户对象传递给 getCustomer() 端点。
WebClient.create("http://localhost:8080")
.get()//why this can not be used? why post has to be used?
.uri("client/getCustomer")
.contentType(MediaType.APPLICATION_JSON)
.bodyValue(customer)//with .get() body cannot be passed.
.retrieve()
.bodyToMono(Customer.class);
@GET
@Path("/getCustomer")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Customer getCustomer(Customer customer) {
//do something
return customer;
}
已编辑
In GET methods, the data is sent in the URL. just like:
http://www.test.com/users/1
In POST methods, The data is stored in the request body of the
HTTP request.
因此我们不应期望 .get() 方法具有 .bodyValue()。
现在如果你想使用 GET 方法发送数据,你应该在 URL 中发送它们,就像下面的片段
WebClient.create("http://localhost:8080")
.get()
.uri("client/getCustomer/{customerName}" , "testName")
.retrieve()
.bodyToMono(Customer.class);
有用Spring webClient 示例:
spring 5 WebClient and WebTestClient Tutorial with Examples
有关 POST 和 GET
的更多信息
我正在尝试将对象发送到端点,但我不明白为什么我不能使用 .get() 来完成,为什么必须使用 .post()?如果端点方法接受一个对象并对其执行某些操作,而 returns 一个对象怎么办?我可能想将一个对象发送到将对象作为参数的端点。有办法吗?如何将客户对象传递给 getCustomer() 端点。
WebClient.create("http://localhost:8080")
.get()//why this can not be used? why post has to be used?
.uri("client/getCustomer")
.contentType(MediaType.APPLICATION_JSON)
.bodyValue(customer)//with .get() body cannot be passed.
.retrieve()
.bodyToMono(Customer.class);
@GET
@Path("/getCustomer")
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public Customer getCustomer(Customer customer) {
//do something
return customer;
}
已编辑
In GET methods, the data is sent in the URL. just like: http://www.test.com/users/1
In POST methods, The data is stored in the request body of the HTTP request.
因此我们不应期望 .get() 方法具有 .bodyValue()。
现在如果你想使用 GET 方法发送数据,你应该在 URL 中发送它们,就像下面的片段
WebClient.create("http://localhost:8080")
.get()
.uri("client/getCustomer/{customerName}" , "testName")
.retrieve()
.bodyToMono(Customer.class);
有用Spring webClient 示例:
spring 5 WebClient and WebTestClient Tutorial with Examples
有关 POST 和 GET
的更多信息