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();
}