springboot使用RestTemplate報錯:Could not extract response: no suitable HttpMessageConverter found for response type [class xx] and …
spring boot版本大於1.4的時候,spring boot不會再自動裝配定義一個RestTemplate,需要手動創建,用一下代碼新建就會報上錯誤等
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
//先獲取到converter列表
List<HttpMessageConverter<?>> converters = builder.build().getMessageConverters();
for(HttpMessageConverter<?> converter : converters){
//因為我們只想要jsonConverter支持對text/html的解析
if(converter instanceof MappingJackson2HttpMessageConverter){
try{
//先將原先支持的MediaType列表拷出
List<MediaType> mediaTypeList = new ArrayList<>(converter.getSupportedMediaTypes());
//加入對text/html的支持
mediaTypeList.add(MediaType.TEXT_HTML);
//將已經加入了text/html的MediaType支持列表設置為其支持的媒體類型列表
((MappingJackson2HttpMessageConverter) converter).setSupportedMediaTypes(mediaTypeList);
}catch(Exception e){
e.printStackTrace();
}
}
}
return builder.build();
}