RestTemplate中文乱码问题
使RestTemplate接收请求响应体的参数时,中文出现乱码的情况。
源码中看中文乱码原因
RestTemplate源码中无参的构造方法
更进一步的去看,上图初始化的参数,该参数的默认值如下图所示
到这里大家应该知道这个问题的原因和解决办法了,【RestTemplate初始化后,我们再进行赋值,修改为我们需要的UTF-8的编码】
解决办法
SpringBoot项目采用如下方式
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(){
RestTemplate restTemplate = new RestTemplate(factory);
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
return restTemplate;
}
}