获取输入常规 java 负载的 Controller 与响应式负载的 Controller 有什么区别?例如,假设我有以下 2 个端点:
@RestController
public class MyController {
@PostMapping
public Flux<SomeObject> doThing(@RequestBody MyPayload playlod) {
// do things that return flux - reactive all the way from this controller
还有这个:
@RestController
public class MyController {
@PostMapping
public Flux<SomeObject> doThing(@RequestBody Mono<MyPayload> playlod) {
从 react 的角度来看,我不明白这两种方法之间的区别。
最佳答案
根据 WebFlux documentation :
请求体可以是以下方式之一,在注解和函数式编程模型中都会被自动解码:
-
Account account
—>账户被反序列化而不被阻塞 在调用 Controller 之前。 -
Mono<Account> account
- 这 Controller 可以使用 Mono 来声明要在之后执行的逻辑 帐户被反序列化。 -
Flux<Account> accounts
—> 输入流 场景。
关于spring-webflux - WebFlux Controller 中的 Mono 或 Flux 请求主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70542910/