如果请求的结果返回的是字符串,那么就会用上图的类来进行转换(处理)
因为 StringHttpMessageConverter 这个类默认编码不是UTF-8所以导致解析的结果中文乱码
如果想改成默认为UTF-8 这里提供一个方法.如果有哪位大神有更好的处理方式,请评论下留言。这里表示感谢
本人提供的方法是在把RestTemplate注册成spring bean进行的改造,如下图
经过测试验证。乱码已经修改,为了方便使用者复制:
List<HttpMessageConverter<?>> httpMessageConverters = restTemplate.getMessageConverters();
httpMessageConverters.stream().forEach(httpMessageConverter -> {
if(httpMessageConverter instanceof StringHttpMessageConverter){
StringHttpMessageConverter messageConverter = (StringHttpMessageConverter) httpMessageConverter;
messageConverter.setDefaultCharset(Charset.forName("UTF-8"));
}
});