20220507 2. Web Servlet - REST Clients
前言
RestTemplate
RestTemplate
是执行 HTTP 请求的同步客户端。它是原始的 Spring REST 客户端,并通过基础的 HTTP 客户端库公开一个简单的模板方法 API
在 5.0 版本中,
RestTemplate
处于维护模式,只有少量的更改请求和错误修复被接受。请考虑使用 WebClient ,它提供了更现代的 API ,并支持同步、异步和流场景。
有关详细信息,请参阅 REST Endpoints
WebClient
WebClient
是一个非阻塞、反应式的客户端,用于执行 HTTP 请求。它是在 5.0 中引入的,提供了 RestTemplate
的现代替代方案,对同步和异步以及流场景都提供了有效的支持
与 RestTemplate
不同,WebClient
支持以下功能:
- 非阻塞 I/O
- 反应式流背压
- 使用较少硬件资源的高并发性
- 函数式的、链式的 API,利用了 Java8 lambda 的优点
- 同步和异步交互
- 从服务器向上流或向下流
更多细节请参见 WebClient