使用RestTemplate 发送POST请求,请求头包含:Accept:application/json;charset=utf-8; Content-Type:application/x-www-form-urlencoded;charset=utf-8;
时间: 2023-09-20 13:12:39 浏览: 242
详解RestTemplate的三种使用方式
好的,以下是使用 RestTemplate 发送 POST 请求,同时设置请求头的示例代码:
```java
RestTemplate restTemplate = new RestTemplate();
// 设置请求头
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
headers.setAccept(Arrays.asList(MediaType.APPLICATION_JSON_UTF8));
// 设置请求体
MultiValueMap<String, String> params= new LinkedMultiValueMap<>();
params.add("param1", "value1");
params.add("param2", "value2");
// 组装请求
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(params, headers);
// 发送请求
String url = "https://example.com/api";
ResponseEntity<String> responseEntity = restTemplate.postForEntity(url, requestEntity, String.class);
String responseBody = responseEntity.getBody();
```
在上述代码中,我们使用 HttpHeaders 类设置请求头,同时使用 MultiValueMap 类设置请求体。在组装请求时,我们将请求头和请求体放入一个 HttpEntity 对象中。然后使用 postForEntity 方法发送请求并获取响应。在这个例子中,我们假设响应的数据格式为字符串。如果响应的数据格式为 JSON 或 XML 等格式,可以将响应的数据映射到对应的 Java 对象中。
希望这个示例能够帮助你。如果你有其他问题,可以随时问我。
阅读全文