何时使用 Mono<List<Object>> 以及何时使用 Flux<Object> 用于 RestController 方法
Posted
技术标签:
【中文标题】何时使用 Mono<List<Object>> 以及何时使用 Flux<Object> 用于 RestController 方法【英文标题】:When to use Mono<List<Object>> and when Flux<Object> for RestController method 【发布时间】:2019-03-28 15:40:42 【问题描述】:我正在使用带有 Reactor 的 Spring web-flux,但我不清楚 RestController 方法何时应该返回
Mono <List<Object>>
和 Flux<Object>
时。
你能提供一些什么时候使用它们的例子吗?
【问题讨论】:
【参考方案1】:Flux<Object>
表示新的Object
实例可以在任何时候以反应方式推送。使用Mono<List<Object>>
,您将获得 1 次作为对象列表的值,但该列表永远不会改变。
另见Mono vs Flux in Reactive Stream
【讨论】:
因此,如果 Spring RestController 公开了普通 API,假设此 API 将公开项目列表(例如用户拥有的汽车),阅读您的回复我应该选择Mono<List<Object>>
而不是Flux<Object>
,因为我只是在等待“1 次作为对象列表的值”。这是正确的吗?
你的问题的答案是:是的,没错。以上是关于何时使用 Mono<List<Object>> 以及何时使用 Flux<Object> 用于 RestController 方法的主要内容,如果未能解决你的问题,请参考以下文章
android mono:使用 List<T> 而不是 ArrayAdapter 来使用 Contains 方法
如何从 WebFlux 中的 Mono<List<T>> 中提取内容以将其传递到调用链中