Spring WebFlux中的ClientRequest和ClientHttpRequest如何连接

时间:2018-12-21 13:48:50

标签: spring-webflux

当我们使用WebClient中的spring-webflux API时,它在内部使用ClientRequest

但是我们在ClientHttpRequest模块中也有spring-web

为什么我们有两个不同的类听起来很相似。有人可以解释这两个类之间的区别吗?

1 个答案:

答案 0 :(得分:1)

org.springframework.web.reactive.function.client.ClientRequest是Spring开发人员可以在WebClient中使用的类。它具有高级功能,例如请求属性映射,用于日志记录的logPrefix,静态构建器等。它还使用了诸如ExchangeStrategies之类的高级概念。

另一方面,org.springframework.http.client.reactive.ClientHttpRequest是原始HTTP级别上HTTP客户端请求的基本抽象。这用于实现HTTP客户端(Reactor Netty,Jetty)的各种适配层。

因此,除非您处理的是低级内容,否则您无需直接在应用程序中使用ClientHttpRequest