1.原因
由於RestTemplate的默認構造方法初始化的StringHttpMessageConverter的默認字符集是ISO-8859-1,所以導致RestTemplate請求的響應內容會出現中文亂碼。
2.解決
springboot中@Bean配置的時候要把StringHttpMessageConverter編碼改成UTF8格式。如下:
@Bean
public RestTemplate restTemplate() {
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
return restTemplate;
}