RestTemplate最好用的工具类
时间: 2023-11-02 08:57:22 浏览: 34
RestTemplate 是一个非常常用的 Java HTTP 客户端工具,它可以用来发送 HTTP 请求并获取响应结果。在使用 RestTemplate 的时候,可以通过自定义工具类来简化代码,提高开发效率。
以下是一个简单的 RestTemplate 工具类:
```java
public class RestTemplateUtil {
private static RestTemplate restTemplate = new RestTemplate();
public static <T> T getForObject(String url, Class<T> responseType, Object... urlVariables) {
return restTemplate.getForObject(url, responseType, urlVariables);
}
public static <T> ResponseEntity<T> exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<T> responseType, Object... urlVariables) {
return restTemplate.exchange(url, method, requestEntity, responseType, urlVariables);
}
public static <T> ResponseEntity<T> postForEntity(String url, Object request, Class<T> responseType, Object... urlVariables) {
return restTemplate.postForEntity(url, request, responseType, urlVariables);
}
}
```
这个工具类包含了 RestTemplate 常用的几个方法,可以直接使用。例如:
```java
String result = RestTemplateUtil.getForObject("http://example.com", String.class);
```
```java
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<Object> requestEntity = new HttpEntity<>(requestObject, headers);
ResponseEntity<String> responseEntity = RestTemplateUtil.exchange("http://example.com", HttpMethod.POST, requestEntity, String.class);
```
使用工具类可以避免重复的 RestTemplate 初始化过程,也可以避免代码中出现大量的 RestTemplate 对象。