Spring RestTemplate设置contentType
时间: 2024-04-25 07:18:35 浏览: 282
setContentType参数
4星 · 用户满意度95%
在Spring中使用RestTemplate发送HTTP请求时,可以通过设置contentType来指定请求的内容类型。下面是设置contentType的几种方式:
1. 使用HttpHeaders对象设置contentType:
```java
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, headers);
restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType);
```
上述代码中,通过创建HttpHeaders对象,并使用setContentType方法设置为MediaType.APPLICATION_JSON,表示请求的内容类型为JSON。
2. 使用MultiValueMap对象设置contentType:
```java
RestTemplate restTemplate = new RestTemplate();
MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
headers.add("Content-Type", "application/json");
HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, headers);
restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType);
```
上述代码中,通过创建MultiValueMap对象,并使用add方法添加"Content-Type"和"application/json"作为请求头信息,表示请求的内容类型为JSON。
3. 直接设置请求头信息:
```java
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.set("Content-Type", "application/json");
HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, headers);
restTemplate.exchange(url, HttpMethod.POST, requestEntity, responseType);
```
上述代码中,通过调用HttpHeaders对象的set方法直接设置"Content-Type"和"application/json"作为请求头信息,表示请求的内容类型为JSON。
阅读全文