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


目录

一、添加fastjson转换器的方法

①导入pom依赖

        <dependency>
           <groupId>com.alibabagroupId>
           <artifactId>fastjsonartifactId>
           <version>1.2.15version>
        dependency>    

②添加配置类

@Configuration
public class WebConfig {

    @Bean
    public HttpMessageConverters fastJsonMessageConverters() {

        List> 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 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

TRANSLATE with x English
Arabic Hebrew Polish
Bulgarian Hindi Portuguese
Catalan Hmong Daw Romanian
Chinese Simplified Hungarian Russian
Chinese Traditional Indonesian Slovak
Czech Italian Slovenian
Danish Japanese Spanish
Dutch Klingon Swedish
English Korean Thai
Estonian Latvian Turkish
Finnish Lithuanian Ukrainian
French Malay Urdu
German Maltese Vietnamese
Greek Norwegian Welsh
Haitian Creole Persian  
Bing Webmaster Portal Back