跳到主要内容

基于响应式栈的 Web

ChatGPT-4o-mini 中英对照 Web on Reactive Stack

本部分文档涵盖了对基于 Reactive Streams API 的反应式栈 Web 应用程序的支持,这些应用程序可以在非阻塞服务器上运行,例如 Netty、Undertow 和 Servlet 容器。各个章节涵盖了 Spring WebFlux 框架、反应式 WebClient、对 测试 的支持,以及 反应式库。有关 Servlet 栈 Web 应用程序的信息,请参见 Web on Servlet Stack

章节摘要

📄️ 响应式库

spring-webflux 依赖于 reactor-core,并在内部使用它来组合异步逻辑并提供 Reactive Streams 支持。一般来说,WebFlux API 返回 Flux 或 Mono(因为这些在内部使用)并宽松地接受任何 Reactive Streams Publisher 实现作为输入。当提供一个 Publisher 时,它只能被视为一个具有未知语义的流 (0..N)。然而,如果语义是已知的,您应该使用 Flux 或 Mono.from(Publisher) 来包装它,而不是直接传递原始 Publisher。使用 Flux 与 Mono 之间的区别很重要,因为它有助于表达基数 — 例如,是否期望单个或多个异步值,这对于做出决策(例如,在编码或解码 HTTP 消息时)可能是至关重要的。