resttemplate工具类的使用
时间: 2025-01-30 10:09:48 浏览: 33
### 使用 `RestTemplate` 工具类
#### 创建并配置 `RestTemplate`
为了创建和配置 `RestTemplate` 实例,通常会通过 `RestTemplateBuilder` 进行构建。这不仅简化了实例化过程,还允许轻松设置默认属性和其他配置选项。
```java
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.errorHandler(new CustomResponseErrorHandler()).build();
}
```
这段代码展示了如何定义一个带有自定义错误处理器的 `RestTemplate` Bean[^1]。
#### 发起 GET 请求获取资源列表
下面是一个简单的例子,展示如何利用 `RestTemplate` 执行 HTTP GET 方法来检索数据:
```java
import org.springframework.http.ResponseEntity;
import java.util.List;
// 假设有一个实体类 User 表示用户对象
List<User> users = restTemplate.getForObject("http://example.com/api/users", List.class);
// 或者使用 ResponseEntity 获取更多响应信息
ResponseEntity<List<User>> response = restTemplate.exchange(
"http://example.com/api/users",
HttpMethod.GET,
null, // 不发送请求体
new ParameterizedTypeReference<>() {}
);
```
此部分介绍了两种不同的方式来进行 RESTful API 的调用,并接收返回的数据集合[^3]。
#### 处理 POST 请求提交新记录
当需要向服务器端新增加一条记录时,则可以通过 POST 方式传递 JSON 数据给指定 URL 地址:
```java
User newUser = new User(/* 构造函数参数 */);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<User> entity = new HttpEntity<>(newUser, headers);
String url = "http://example.com/api/user";
ResponseEntity<String> result = restTemplate.postForEntity(url, entity, String.class);
System.out.println(result.getBody());
```
上述片段解释了怎样构造带有所需头信息以及主体内容的对象,并将其作为参数传入 `postForEntity()` 函数中完成一次完整的POST操作。
阅读全文
相关推荐


















