RestTemplate如何解决"响应结果中的响应头为content-type:text/plain;charset=utf-8"数据类型转换失败呢?

重生 Spring 发布时间:2024-02-03 09:27:23 阅读数:12997 1
今天使用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);
        }
    }
}
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaFramework/Spring/202402/7899.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者