在Spring框架中,有两种常见的REST客户端实现:RestTemplate和WebClient。RestTemplate是传统的同步阻塞式客户端,而WebClient是Spring 5引入的基于Reactive编程模型的异步非阻塞式客户端。
一、RestTemplate
RestTemplate是Spring提供的用于访问REST服务的模板类,它提供了多种方法来发送HTTP请求并处理响应。
import org.springframework.web.client.RestTemplate;
public class RestTemplateExample {
public static void main(String[] args) {
RestTemplate restTemplate = new RestTemplate();
String url = "https://api.example.com/data";
String response = restTemplate.getForObject(url, String.class);
System.out.println(response);
}
}
二、WebClient
WebClient是Spring 5引入的用于构建响应式应用程序的非阻塞式REST客户端。它支持异步和反应式编程风格,可以处理大量并发请求。
import org.springframework.web.reactive.function.client.WebClient;
import reactor.core.publisher.Mono;
public class WebClientExample {
public static void main(String[] args) {
WebClient webClient = WebClient.create();
String url = "https://api.example.com/data";
Mono<String> responseMono = webClient.get()
.uri(url)
.retrieve()
.bodyToMono(String.class);
responseMono.subscribe(response -> {
System.out.println(response);
});
}
}
原文链接: https://blog.csdn.net/2401_82884096/article/details/137907593