<List<T>>与Sprx<T>在Spring Webflow中的区别 [英] Mono<List<T>> difference with Flux<T> in Spring webflux

查看:12
本文介绍了<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元素,可能是一个接一个。
如果您从WebClientMono<List<T>>Flux<T>等HTTP客户端获得这样的返回类型,则从运行时的角度来看,如果返回的Content-Type"application/json",则它们可能或多或少是等价的。在这种情况下,解码器将一次性对响应进行反序列化。唯一不同的是,Flux<T>提供了更有趣的运算符,您始终可以collectList并回退到Mono<List>

另一方面,如果返回的Content-Type是流元素,例如"application/stream+json",那么这肯定会产生影响,因为您将在元素到来时逐个获取它们。事实上,如果返回的流是无限流,选择Flux<T>非常重要,因为另一个流永远不会完成。

这篇关于&lt;List&lt;T&gt;&gt;与Sprx&lt;T&gt;在Spring Webflow中的区别的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆