Spring WebClient

Spring MVC中用RestTemplate调远程的接口,线程阻塞。

WebClient线程非阻塞。

1,服务器端findAll接口

WebFlux- WebClient(一)

 

 WebFlux- WebClient(一)

 

 2,客户端,消费者

bodyToFlux()方法将返回来的body转化成Flux对象。

WebFlux- WebClient(一)

 二、WebClient 和RestTemplate区别

1,服务器端创建接口获取员工列表。

接口耗时5s。

WebFlux- WebClient(一)

 

 

 2,创建RestTemplate的消费端

WebFlux- WebClient(一)

 

 

 3,创建WebClient的消费端

加个媒体类型

WebFlux- WebClient(一)

4,运行结果

webclient:47毫秒

WebFlux- WebClient(一)

 

 restTemplate:5077毫秒

WebFlux- WebClient(一)

 WebFlux- WebClient(一)

 三、WebClient Post 传参

WebFlux- WebClient(一)

 

 1,服务器端接收一个对象并对它进行存储。

WebFlux- WebClient(一)

 

也可以使用flatMap(),flatMap返回的是一个Flux或者一个Mono.

WebFlux- WebClient(一)

2,消费者端,使用webClient

调用Post()方法,把对象放在body()中,,最终再接收返回来的对象。

WebFlux- WebClient(一)

 

 WebFlux- WebClient(一)

 

相关文章: