美文网首页java编程积累
java采坑之路-fastjson

java采坑之路-fastjson

作者: 风一样的存在 | 来源:发表于2020-06-10 18:37 被阅读0次

在springboot2.0中使用fastjson做转换器出现如下的问题:

java.lang.IllegalArgumentException: Content-Type cannot contain wildcard type '*'
    at org.springframework.util.Assert.isTrue(Assert.java:116) ~[spring-core-5.0.13.RELEASE.jar!/:5.0.13.RELEASE]
    at org.springframework.http.HttpHeaders.setContentType(HttpHeaders.java:861) ~[spring-web-5.0.13.RELEASE.jar!/:5.0.13.RELEASE]
    at org.springframework.http.converter.AbstractHttpMessageConverter.addDefaultHeaders(AbstractHttpMessageConverter.java:255) ~[spring-web-5.0.13.RELEASE.jar!/:5.0.13.RELEASE]
    at org.springframework.http.converter.AbstractHttpMessageConverter.write(AbstractHttpMessageConverter.java:210) ~[spring-web-5.0.13.RELEASE.jar!/:5.0.13.RELEASE]
    at com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter.write(FastJsonHttpMessageConverter.java:244) ~[fastjson-1.2.57.jar!/:?]

解决办法:

    /**
     * 修改默认的json序列化方式
     * @return
     */
    @Bean
    public HttpMessageConverters fastJsonHttpMessageConverters() {
        // 1.定义一个converters转换消息的对象
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        // 2.添加fastjson的配置信息,比如: 是否需要格式化返回的json数据
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        // 3.在converter中添加配置信息
        fastConverter.setFastJsonConfig(fastJsonConfig);

        List<MediaType> supportedMediaTypes = Lists.newArrayList();
        //从1.1.41升级到1.2.之后的版本必须配置,否则会报错
        supportedMediaTypes.add(MediaType.APPLICATION_JSON);
        supportedMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
        fastConverter.setSupportedMediaTypes(supportedMediaTypes);

        // 4.将converter赋值给HttpMessageConverter
        HttpMessageConverter<?> converter = fastConverter;
        // 5.返回HttpMessageConverters对象
        return new HttpMessageConverters(converter);
    }

参考:
1.https://my.oschina.net/u/3747772/blog/3061925

相关文章

  • java采坑之路-fastjson

    在springboot2.0中使用fastjson做转换器出现如下的问题: 解决办法: 参考:1.https://...

  • java采坑之路-注解不生效

    继续上篇Java采坑之路-mybatis使用乐观[https://www.jianshu.com/p/e62127...

  • java采坑之路-lombok

    数据库使用Date类型存储字段,实体类使用java.util.Date接收报错:date转化报错.png然后把字段...

  • java采坑之路-freemarker

    由于在项目中要发邮件,使用freemarker模板引擎,但是数据很多为null值。想过给默认值,但是不太切合实际要...

  • java采坑之路-lamda排序

    对于普通的字符串和整型排序还好,但是遇到对象集合或数组排序就要实现compare接口或者自定义比较器。lamda表...

  • java采坑之路-restTemplate请求

    由于spring已经集成了http请求,底层还是基于httpclient封装的。同事要调用我的服务,采用HTTP请...

  • java采坑之路-导出excel超链接

    使用Apache-poi操作Excel xls格式----HSSF xlsx格式----HSSF 运行效果展示: ...

  • Java采坑之路-mybatis使用乐观锁

    由于公司的老项目使用的是struts2+mybatis+spring,有秒杀的场景,但是每次秒杀都有失败的情况。然...

  • JAVA采坑录

    判断字符串相等 之前一只判断字符串相等都是用的 == Sring a = "123";String b = "12...

  • Android开源库

    Android开发中实用的开源库 1,fastjson Fastjson是一个Java库,可用于将Java对象转换...

网友评论

    本文标题:java采坑之路-fastjson

    本文链接:https://www.haomeiwen.com/subject/jygptktx.html