我建议使用
exchange可以接受的方法之一,也可以
HttpEntity为其设置
HttpHeaders。(你也可以指定要使用的HTTP方法。)
例如,
RestTemplate restTemplate = new RestTemplate();HttpHeaders headers = new HttpHeaders();headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));HttpEntity<String> entity = new HttpEntity<>("body", headers);restTemplate.exchange(url, HttpMethod.POST, entity, String.class);我喜欢这种解决方案,因为它是强类型的。
exchange期望一个
HttpEntity。
不过,你也可以将其
HttpEntity作为
request参数传递给
postForObject。
HttpEntity<String> entity = new HttpEntity<>("body", headers);restTemplate.postForObject(url, entity, String.class); RestTemplate#postForObjectJavadoc中提到了这一点。
该request参数可以是a HttpEntity,以便向请求中添加其他HTTP标头。



