1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
/**
* FastJson 全局转换器
*/
@Configuration
public class LocalDateTimeSerializerConfig extends WebMvcConfigurationSupport {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters){
// 清除默认json转换器
converters.removeIf(converter -> converter instanceof MappingJackson2HttpMessageConverter);
FastJsonHttpMessageConverter httpMessageConverter = new FastJsonHttpMessageConverter();
FastJsonConfig config = new FastJsonConfig();
SerializeConfig serializeConfig = SerializeConfig.getGlobalInstance();
// 格式化LocalDateTime日期类型,自定义格式转换
serializeConfig.put(LocalDateTime.class, LocalDateTimeSerializer.instance);
// Long类型转化为String,解决丢失精度问题
serializeConfig.put(Long.class, ToStringSerializer.instance);
serializeConfig.put(Long.TYPE, ToStringSerializer.instance);
config.setSerializeConfig(serializeConfig);
config.setSerializerFeatures(SerializerFeature.PrettyFormat, SerializerFeature.WriteMapNullValue, SerializerFeature.DisableCircularReferenceDetect);
httpMessageConverter.setFastJsonConfig(config);
converters.add(httpMessageConverter);
}
}
|