<;List<;T>;>;与Sprx<;T>;在Spring Webflow中的区别 [英] Mono<List<T>> difference with Flux<T> in Spring webflux
本文介绍了<;List<;T>;>;与Sprx<;T>;在Spring Webflow中的区别的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Mono<List<T>>
是同步的Flux<T>
并且Flux不能是REST API响应。
我说的对吗?
如果不是,Mono<List<T>>
和Flux<T>
有什么不同
或者,在某些地方,Flux可能是REST API响应?
推荐答案
- 作为返回类型,
Mono<List<T>>
表示一次异步获取T
元素的完整列表。 Flux<T>
意味着您将得到0到多个T
元素,可能是一个接一个。
WebClient
、Mono<List<T>>
和Flux<T>
等HTTP客户端获得这样的返回类型,则从运行时的角度来看,如果返回的Content-Type
是"application/json"
,则它们可能或多或少是等价的。在这种情况下,解码器将一次性对响应进行反序列化。唯一不同的是,Flux<T>
提供了更有趣的运算符,您始终可以collectList
并回退到Mono<List>
。
另一方面,如果返回的Content-Type
是流元素,例如"application/stream+json"
,那么这肯定会产生影响,因为您将在元素到来时逐个获取它们。事实上,如果返回的流是无限流,选择Flux<T>
非常重要,因为另一个流永远不会完成。
这篇关于<;List<;T>;>;与Sprx<;T>;在Spring Webflow中的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文