天天看点

FastJson java.lang.IllegalArgumentException: Content-Type cannot contain wildcard type ‘*‘问题解决

问题描述:

        java.lang.IllegalArgumentException: Content-Type cannot contain wildcard type '*'

问题分析:

1、FastJson 1.2版本中需要用户自己配置MediaType,否则会报错。

解决办法:

        全局序列号配置需要添加MediaType。

/**
     * fastjson的全局序列化方式
     *
     * @param converters
     */
    @Override
    public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        // 1、需要先定义一个·convert转换消息的对象;
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        // 2、添加fastjson的配置信息
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        //3、配置MediaType
        List<MediaType> supportedMediaTypes = new ArrayList<>();
        supportedMediaTypes.add(MediaType.APPLICATION_JSON);
        supportedMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
        supportedMediaTypes.add(MediaType.APPLICATION_ATOM_XML);
        supportedMediaTypes.add(MediaType.APPLICATION_FORM_URLENCODED);
        supportedMediaTypes.add(MediaType.APPLICATION_OCTET_STREAM);
        supportedMediaTypes.add(MediaType.APPLICATION_PDF);
        supportedMediaTypes.add(MediaType.APPLICATION_RSS_XML);
        supportedMediaTypes.add(MediaType.APPLICATION_XHTML_XML);
        supportedMediaTypes.add(MediaType.APPLICATION_XML);
        supportedMediaTypes.add(MediaType.IMAGE_GIF);
        supportedMediaTypes.add(MediaType.IMAGE_JPEG);
        supportedMediaTypes.add(MediaType.IMAGE_PNG);
        supportedMediaTypes.add(MediaType.TEXT_EVENT_STREAM);
        supportedMediaTypes.add(MediaType.TEXT_HTML);
        supportedMediaTypes.add(MediaType.TEXT_MARKDOWN);
        supportedMediaTypes.add(MediaType.TEXT_PLAIN);
        supportedMediaTypes.add(MediaType.TEXT_XML);
        fastConverter.setSupportedMediaTypes(supportedMediaTypes);
        // 4、在convert中添加配置信息.
        fastConverter.setFastJsonConfig(fastJsonConfig);
        // 5、将convert添加到converters当中.
        converters.add(fastConverter);
    }
           

        更多有关全局序列化配置的详细内容请查看以下博客。

Spring Boot实现全局序列化配置(Jackson、FastJson)

FastJson java.lang.IllegalArgumentException: Content-Type cannot contain wildcard type ‘*‘问题解决

https://blog.csdn.net/qq_38974638/article/details/120513840