RestTemplate如何解决"响应结果中的响应头为content-type:text/plain;charset=utf-8"数据类型转换失败呢?
今天使用RestTemplate请求接口时,出现数据转换失败的异常
Could not extract response: no suitable HttpMessageConverter found for response type [interface java.util.list] and content type [text/plain;charset=utf-8] =================================== 通过以上的错误代码,我们可以得出RestTemplate处理不了 这种数据类型,那么RestTemplate如何解决此类问题呢?下文笔者将一一道来,如下所示
只需自定义一个消息装换器 让RestTemplate支持content-type:application/json'charset=utf-8数据转换 /** * RestTemplate配置类 */ @Slf4j @Configuration public class RestTemplateConfig { /** * 常用远程调用RestTemplate * @return restTemplate */ @Bean("restTemplate") public RestTemplate restTemplate(){ RestTemplate restTemplate = new RestTemplate(); // 加入自定义信息转换 restTemplate.getMessageConverters().add(new MyMappingJackson2HttpMessageConverter()); return new RestTemplate(); } /** * 使RestTemplate支持转换类型为text/plain的数据 */ public static class MyMappingJackson2HttpMessageConverter extends MappingJackson2HttpMessageConverter{ public MyMappingJackson2HttpMessageConverter(){ List<MediaType> mediaTypes = new ArrayList<>(); // 加入text/plain类型的支持 mediaTypes.add(MediaType.TEXT_PLAIN); // 如果还有其他类型的需要装换,可以一一加上 setSupportedMediaTypes(mediaTypes); } } }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。