響應式庫

spring-webflux 依賴於 reactor-core 並內部使用它來組合非同步邏輯和提供 Reactive Streams 支援。通常,WebFlux API 返回 FluxMono(因為它們在內部使用)並寬鬆地接受任何 Reactive Streams Publisher 實現作為輸入。當提供一個 Publisher 時,它只能被視為語義未知(0..N)的流。但是,如果語義已知,你應該使用 FluxMono.from(Publisher) 包裝它,而不是傳遞原始的 Publisher。使用 Flux 對比 Mono 很重要,因為它有助於表達基數——例如,是預期單個還是多個非同步值,這對於做出決策至關重要(例如,在編碼或解碼 HTTP 訊息時)。

對於基於註解的控制器,WebFlux 透明地適應應用選擇的響應式庫。這是藉助 ReactiveAdapterRegistry 完成的,它為響應式庫和其他非同步型別提供可插拔的支援。該登錄檔內建支援 RxJava 3、Kotlin 協程和 SmallRye Mutiny,但你也可以註冊其他的。