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