@Configuration
public class JsonConfig implements WebMvcConfigurer {
@Bean
public FastJsonHttpMessageConverter fastJsonHttpMessageConverter() {
FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter();
FastJsonConfig config = new FastJsonConfig();
config.setCharset(StandardCharsets.UTF_8);
// 在这里配置其他 Fastjson 的行为,例如日期格式、禁用HTML转义等
config.setSerializerFeatures(SerializerFeature.WriteSlashAsSpecial);
SerializeConfig serializeConfig = SerializeConfig.globalInstance;
// 解决@JsonSerialize注解转换long类型字段不生效的问题
serializeConfig.put(Long.class, ToStringSerializer.instance);
serializeConfig.put(Long.TYPE, ToStringSerializer.instance);
config.setSerializeConfig(serializeConfig);
// 解决@JsonFormat转换日期格式不生效的问题
config.setSerializerFeatures(SerializerFeature.WriteDateUseDateFormat);
config.setDateFormat("yyyy-MM-dd HH:mm:ss");
// 解决引用问题
config.setSerializerFeatures(SerializerFeature.DisableCircularReferenceDetect);
converter.setFastJsonConfig(config);
List<MediaType> supportedMediaTypes = new ArrayList<>();
supportedMediaTypes.add(MediaType.APPLICATION_JSON);
converter.setSupportedMediaTypes(supportedMediaTypes);
return converter;
}
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
converters.add(fastJsonHttpMessageConverter());
}
}
FastJson全局配置
最新推荐文章于 2025-03-20 09:00:00 发布