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
带着疑问去思考,然后串联,进而归纳总结,不断追问自己,进行自我辩证,像侦查嫌疑案件一样看待技术问题,漆黑的街道,你我一起寻找线索,你就是技术界大侦探福尔摩斯