Skip to content

REST 客户端 ​

本节介绍用于访问 REST 端点的客户端选项。

RestClient ​

RestClient 是一个同步 HTTP 客户端,公开了现代化的流式 (fluent) API。

详情请参阅 RestClient。

WebClient ​

WebClient 是一个响应式客户端,用于通过流式 API 进行 HTTP 请求。

详情请参阅 WebClient。

RestTemplate ​

RestTemplate 是用于发起 HTTP 请求的同步客户端。它是 Spring 最初的 REST 客户端,并在底层 HTTP 客户端库之上公开了简单的模板方法 API。

详情请参阅 RestTemplate。

HTTP 服务客户端 ​

Spring Framework 允许你将 HTTP 服务定义为带有 HTTP 交换方法的 Java 接口。然后,你可以生成一个实现该接口并执行交换操作的代理。这有助于简化 HTTP 远程访问,并为选择 API 风格(如同步或响应式)提供了额外的灵活性。

详情请参阅 HTTP 服务客户端。


补充教学 ​

1. 我该选择哪一个? ​

  • 新项目首选:如果你正在编写新的同步应用,RestClient 是推荐的选择。它拥有类似 WebClient 的现代语法,但没有响应式栈的复杂性。
  • 响应式项目:如果你使用的是 WebFlux 或需要非阻塞调用,请选择 WebClient。
  • 旧代码维护:如果你正在维护使用 RestTemplate 的存量代码,可以继续使用,但对于新需求,建议考虑迁移到 RestClient。

2. 接口驱动的优势 ​

“HTTP 服务客户端”模式(也称为声明式客户端)类似于 Feign。你只需要定义接口和注解,Spring 就会帮你完成底层的 HTTP 调用细节。这种方式使得代码极其整洁,非常适合微服务之间的一对一调用。

Based on Spring Framework.