使用 restTemplate 的 postForEntity 发起post请求,对方接收的时候中文显示??????处理方式:
HttpHeaders headers = new HttpHeaders();
HttpEntity<String> httpEntity = new HttpEntity<>(params, headers);
ResponseEntity<String> responseEntity = null;
RestTemplate restTemplate = new RestTemplate();
List<HttpMessageConverter<?>> httpMessageConverters = restTemplate.getMessageConverters();
httpMessageConverters.forEach(httpMessageConverter -> {
if(httpMessageConverter instanceof StringHttpMessageConverter){
StringHttpMessageConverter messageConverter = (StringHttpMessageConverter) httpMessageConverter;
messageConverter.setDefaultCharset(StandardCharsets.UTF_8);
}
});
restTemplate.setMessageConverters(httpMessageConverters);
String baseUrl = "";
responseEntity = restTemplate.postForEntity(baseUrl, httpEntity, String.class);
if (responseEntity.getStatusCode() == HttpStatus.OK) {
return responseEntity;
} else {
throw new BusinessException(String.valueOf(responseEntity.getStatusCode().value()));
}