Spring webflux 控制器:使用 POJO 还是使用 Mono?

Spring webflux controller: consuming POJO vs Mono?

在控制器中我可以写:

fun update(@RequestBody myPojo: MyPojo): Mono<Void> 

fun update(@RequestBody myPojo: Mono<MyPojo>): Mono<Void> 

有什么区别吗? body 解析会在不同的线程中完成吗?在第一种情况下,我会阻塞主反应器线程直到 myPojo 被解析吗?

两者之间没有明显的运行时差异;在第一种情况下,Spring 将解包传入的 Mono,但解码仍将异步进行。

唯一的区别是,如果没有 Mono 类型作为参数,您将无法对其使用 Reactor 运算符。所以这实际上是关于您的控制器处理程序需要实现的目标。