当我们使用WebClient
中的spring-webflux
API时,它在内部使用ClientRequest
类
但是我们在ClientHttpRequest
模块中也有spring-web
为什么我们有两个不同的类听起来很相似。有人可以解释这两个类之间的区别吗?
答案 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
。