我想享受几次休息服务。之前,我使用RestTemplate,但现在我想知道Sping Boot FeignClient和WebClient之间的主要区别。何时使用?
FeignClient
WebClient
monwx1rj1#
为了能够回答**“何时”,需要了解每个人的能力。Spring WebClient 是一个非阻塞**响应式客户端,用于发出HTTP请求。因此,如果您打算使用Spring Reactive Stream API来异步地流式传输数据,那么这就是要走的路。想想事件驱动架构。WebClient是Spring WebFlux库的一部分。
因此,当需要非阻塞HTTP请求时,请使用SpringWebClient,否则由于使用模型简单,请使用Feign。(Note:没有理由为什么不能使用WebClient来阻止操作,但Feign更成熟,它的基于注解的模型使其更容易)
cgh8pdjw2#
主要区别在于WebClient支持响应式调用。你可以使用第三方的虚拟客户端,比如https://github.com/Playtika/feign-reactive来实现,但是基本上,对于一种React式的方式,你应该考虑使用WebClient和一些简洁的异步连接器,比如Jetty。另一方面,如果你想要一个阻塞的方式与最小的麻烦,然后Feign可能是你最好的选择.
hxzsmxv23#
WebClient是一个非阻塞的响应式。假装是阻挡。
3条答案
按热度按时间monwx1rj1#
为了能够回答**“何时”,需要了解每个人的能力。
Spring WebClient 是一个非阻塞**响应式客户端,用于发出HTTP请求。因此,如果您打算使用Spring Reactive Stream API来异步地流式传输数据,那么这就是要走的路。想想事件驱动架构。WebClient是Spring WebFlux库的一部分。
因此,当需要非阻塞HTTP请求时,请使用SpringWebClient,否则由于使用模型简单,请使用Feign。
(Note:没有理由为什么不能使用WebClient来阻止操作,但Feign更成熟,它的基于注解的模型使其更容易)
cgh8pdjw2#
主要区别在于WebClient支持响应式调用。你可以使用第三方的虚拟客户端,比如https://github.com/Playtika/feign-reactive来实现,但是基本上,对于一种React式的方式,你应该考虑使用WebClient和一些简洁的异步连接器,比如Jetty。另一方面,如果你想要一个阻塞的方式与最小的麻烦,然后Feign可能是你最好的选择.
hxzsmxv23#
WebClient是一个非阻塞的响应式。
假装是阻挡。