此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.1.10! |
此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.1.10! |
spring-webflux
依赖于并在内部使用它来编写异步
逻辑,并提供反应式流支持。通常,WebFlux API 返回 or(因为它们在内部使用)并宽松地接受任何 Reactive Streams 实现作为输入。使用 versus 很重要,因为
它有助于表达基数 - 例如,无论是单个还是多个异步
值是预期的,这对于做出决策至关重要(例如,当
编码或解码 HTTP 消息)。reactor-core
Flux
Mono
Publisher
Flux
Mono
对于带注释的控制器,WebFlux 透明地适应
应用程序。这是在 ReactiveAdapterRegistry
的帮助下完成的,它
提供对反应式库和其他异步类型的可插拔支持。注册表
内置了对 RxJava 3、Kotlin 协程和 SmallRye Mutiny 的支持,但您可以
也注册其他人。
对于函数式 API(例如 [webflux-fn]、 等),一般规则
对于 WebFlux API,应用 - 并作为返回值,将反应式流作为输入。当 ,无论是自定义的还是来自另一个响应式库的,
,则只能将其视为语义未知 (0..N) 的流。但是,如果
语义是已知的,你可以用或代替它来包装它
传递原始.WebClient
Flux
Mono
Publisher
Publisher
Flux
Mono.from(Publisher)
Publisher
例如,给定 a 不是 ,则 Jackson JSON 消息编写器
需要多个值。如果媒体类型意味着无限流(例如,),则会单独写入和刷新值。否则
值被缓冲到列表中,并呈现为 JSON 数组。Publisher
Mono
application/json+stream