我建议使用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标头。