对于最新的稳定版本,请使用 Spring Framework 6.2.10spring-doc.cadn.net.cn

响应式库

spring-webflux取决于reactor-core并在内部使用它来组合异步 逻辑并提供响应式流支持。通常,WebFlux API 返回FluxMono(因为这些是在内部使用的)并宽容地接受任何反应流Publisher实现作为输入。使用FluxMono很重要,因为 它有助于表达基数——例如,无论是单个还是多个异步 值是预期的,这对于做出决策至关重要(例如,当 编码或解码 HTTP 消息)。spring-doc.cadn.net.cn

对于带注释的控制器,WebFlux 透明地适应由 应用程序。这是在ReactiveAdapterRegistry哪 为响应式库和其他异步类型提供可插拔支持。注册表 内置了对 RxJava 3、Kotlin 协程和 SmallRye Mutiny 的支持,但您可以 也注册其他人。spring-doc.cadn.net.cn

对于功能型 API(例如 [webflux-fn],则WebClient等),一般规则 对于 WebFlux API,请应用 —FluxMono作为返回值和响应式流Publisher作为输入。当Publisher,无论是自定义的还是来自其他响应式库, ,则只能将其视为语义未知 (0..N) 的流。但是,如果 语义是已知的,你可以用FluxMono.from(Publisher)相反 传递原始的Publisher.spring-doc.cadn.net.cn

例如,给定一个Publisher这不是Mono,Jackson JSON 消息编写器 期望多个值。如果媒体类型暗示无限流(例如,application/json+stream),值被单独写入和刷新。否则 值被缓冲到列表中并呈现为 JSON 数组。spring-doc.cadn.net.cn