要在RestTemplate中设置请求头和请求体,可以使用exchange()方法来发送HTTP请求。通过创建一个HttpEntity对象,可以设置请求头和请求体,并将其作为参数传递给exchange()方法。下面是一个示例代码:
RestTemplate restTemplate = new RestTemplate();
// 设置请求头
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// 设置请求体
String requestBody = "{\"key1\": \"value1\", \"key2\": \"value2\"}";
// 创建HttpEntity对象,设置请求头和请求体
HttpEntity<String> requestEntity = new HttpEntity<>(requestBody, headers);
// 发送POST请求
ResponseEntity<String> responseEntity = restTemplate.exchange("http://api.example.com", HttpMethod.POST, requestEntity, String.class);
String responseBody = responseEntity.getBody();
System.out.println(responseBody);
在上面的代码中,我们首先创建一个RestTemplate对象。然后,我们设置了请求头和请求体,并创建了一个HttpEntity对象。最后,我们使用exchange()方法发送了一个POST请求,并获取了响应体。