RestTemplate post请求 中文乱码
解决方案:
public class RestUtils {private RestTemplate restTemplate = new RestTemplate();public String post(String url, String jsonObject) {// 解决返回值乱码List<HttpMessageConverter<?>> httpMessageConverters = restTemplate.getMessageConverters();httpMessageConverters.stream().forEach(httpMessageConverter -> {if (httpMessageConverter instanceof StringHttpMessageConverter) {StringHttpMessageConverter messageConverter = (StringHttpMessageConverter) httpMessageConverter;//设置编码为UTF-8messageConverter.setDefaultCharset(Charset.forName("UTF-8"));}});HttpHeaders headers = new HttpHeaders();// 解决body乱码MediaType type = MediaType.parseMediaType("application/json; charset=UTF-8");headers.setContentType(type);headers.add("Accept", MediaType.APPLICATION_JSON.toString());HttpEntity <?> requestBody = new HttpEntity <>(jsonObject, headers);String response = restTemplate.postForObject(url, requestBody, String.class);System.out.println("返回值 = " + response);return response;}
}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
