1.8. REST Endpoints
The Spring Framework provides two choices for making calls to REST endpoints:
Spring框架提供两种选择以实现REST端点的调用:
- RestTemplate: 原始的Spring REST客户端,可以提供同步的模板方法API
- WebClient: 非阻塞,响应式的,支持同步、异步以及流式的情形。
1.8.1. RestTemplate
RestTemplate
在HTTP客户端库的基础上提供更高级别的API,使得一行代码即可方便调用REST端点。
Initialization
URIs
RestTemplate
的许多方法接受URI模板和URI模板变量,变量或是String
参数型或是Map<String,String>
型
举例:
// String参数型
String result = restTemplate.getForObject(
"https://example.com/hotels/{hotel}/bookings/{booking}", String.class, "42", "21");
// Map<String,String>型
Map<String, String> vars = Collections.singletonMap("hotel", "42");
String result = restTemplate.getForObject(
"https://example.com/hotels/{hotel}/rooms/{hotel}", String.class, vars);