spring 替换默认的json转换器为FastJson

目录

一、添加fastjson转换器的方法

①导入pom依赖

        <dependency>
           <groupId>com.alibaba</groupId>
           <artifactId>fastjson</artifactId>
           <version>1.2.15</version>
        </dependency>    

②添加配置类

@Configuration
public class WebConfig {

    @Bean
    public HttpMessageConverters fastJsonMessageConverters() {

        List<HttpMessageConverter<?>> converters = new ArrayList<>();
        //需要定义一个convert转换消息的对象;
        FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter();
        //添加fastJson的配置信息;
        FastJsonConfig fastJsonConfig = new FastJsonConfig();
        fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat);
        //全局时间配置
        fastJsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
        fastJsonConfig.setCharset(Charset.forName("UTF-8"));
        
        List<MediaType> fastMediaTypes = new ArrayList<>();
// 修改支持的类型为json和*+json,默认是*/* 有问题 fastMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); fastMediaTypes.add(
new MediaType("application","*+json")); //在convert中添加配置信息. fastConverter.setSupportedMediaTypes(fastMediaTypes); fastConverter.setFastJsonConfig(fastJsonConfig); // 将转换器加入第一个,参考上一篇 converters.add(0, fastConverter); return new HttpMessageConverters(converters); }

这只是其中一种方式,参考上一篇博客,有三种方法可以加入转换器;

③ 如果导致Long类型返回js的时候精度丢失了,可以参考网上的解决办法:

https://blog.csdn.net/qq_43259092/article/details/122811036

 

参考如下:https://blog.csdn.net/xiaokanfuchen86/article/details/121325200

 

posted @ 2022-03-17 15:26  迷走神经  阅读(505)  评论(0编辑  收藏  举报