我可以在没有 Webflux 的情况下使用独立的 WebClient 吗

Rui*_*hen 7 spring reactive-programming spring-webflux

我正在开发一个反应式服务并准备使用WebClient与 HTTP API 交换,但该服务不在反应式 Web 堆栈中,所以我如何在不依赖 Webflux 的情况下使用它(WebClient)或者是否有任何替代的反应式 HTTP 客户端? 提前致谢。

mle*_*mle 0

我不确定我是否正确理解了您的问题:您想使用本质上反应式的类,而不使用包含它的反应式库吗?

正如您通过问题中放入的链接所看到的,它WebClient是 的一部分spring-webflux,并且取决于例如reactor.core.publisher.Mono哪个位于 中compile("io.projectreactor:reactor-core")。我无法想象在任何情况下这WebClient都会起作用或有任何意义,正如您所问的“不依赖 Webflux”。

其他反应式 HTTP 客户端有:

也许您可以详细说明您的需求,为什么您不会依赖WebFlux或为什么要在非反应式堆栈中使用反应式客户端。

  • 因为 Spring 团队在响应式上已经下了金锤子,拒绝支持 RestTemplate 中的 OAuth2 请求等基本操作。 (8认同)
  • 您可以在 Spring MVC 应用程序中使用 Spring Reactor。您可以从 Spring MVC 控制器返回 Mono 和 Flux,它们会异步解析。请参阅 https://docs.spring.io/spring/docs/current/spring-framework-reference/web-reactive.html#webflux-programming-models 和 /sf/answers/3636902881/ 您可能会没有完全的收获,但也不是说完全没有意义。 (4认同)