当我们使用spring-webflux
的WebClient
API时,它在内部使用ClientRequest
class
但是我们在spring-web
模块中也有ClientHttpRequest
为什么我们有两个不同的类别的&非常相似。有人可以解释这两个类之间的区别吗?
org.springframework.web.reactive.function.client.ClientRequest
是春季开发人员可以在WebClient
中使用的类。它具有高级功能,例如请求属性映射,用于记录目的的logprefix,静态构建器等。它还使用了ExchangeStrategies
等较高级别的概念。
另一方面,org.springframework.http.client.reactive.ClientHttpRequest
是在RAW HTTP级别上HTTP客户端请求的基本抽象。这用于为HTTP客户端实施各种适应层(反应堆Netty,Jetty)。
因此,除非您使用低级别的东西,否则您不需要在应用程序中直接使用ClientHttpRequest
。