SpringBoot 整合 fastjson
Springboot处理返回的参数为null、或者不返回
一、通过继承WebMvcConfigurerAdapter,重写configureMessageConverters方法实现
@Configuration public class fastJsonConfig extends WebMvcConfigurerAdapter { @Autowired private LogCostInterceptor logCostInterceptor; /** * 使用阿里 fastjson 作为JSON MessageConverter * @param converters */ @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { FastJsonHttpMessageConverter converter = new FastJsonHttpMessageConverter(); FastJsonConfig config = new FastJsonConfig(); config.setSerializerFeatures( //json格式输出 SerializerFeature.PrettyFormat, // 保留map为空的字段 SerializerFeature.WriteMapNullValue, // 将String类型的null转成""形式 SerializerFeature.WriteNullStringAsEmpty, // 将Number类型的null转成0,也可以理解为Integer SerializerFeature.WriteNullNumberAsZero, // 将List类型的null转成[],而不是“”” SerializerFeature.WriteNullListAsEmpty, // Boolean类型的null转成false SerializerFeature.WriteNullBooleanAsFalse, // 处理可能循环引用的问题 SerializerFeature.DisableCircularReferenceDetect); converter.setFastJsonConfig(config); converter.setDefaultCharset(Charset.forName("UTF-8")); List<MediaType> mediaTypeList = new ArrayList<>(); mediaTypeList.add(MediaType.APPLICATION_JSON); converter.setSupportedMediaTypes(mediaTypeList); converters.add(converter); } }二、在Springboot启动类中
@Bean public HttpMessageConverters fastJsonConverters() { FastJsonHttpMessageConverter4 fastConverter = new FastJsonHttpMessageConverter4(); FastJsonConfig fastJsonConfig = new FastJsonConfig(); fastJsonConfig.setSerializerFeatures(SerializerFeature.PrettyFormat, SerializerFeature.IgnoreNonFieldGetter, SerializerFeature.WriteMapNullValue, SerializerFeature.WriteNullStringAsEmpty); fastConverter.setFastJsonConfig(fastJsonConfig); List supportedMediaTypes = new ArrayList(); supportedMediaTypes.add(new MediaType("text", "json", Charset.forName("utf8"))); supportedMediaTypes.add(new MediaType("application", "json", Charset.forName("utf8"))); fastConverter.setSupportedMediaTypes(supportedMediaTypes); HttpMessageConverter<?> converter = fastConverter; return new HttpMessageConverters(converter); }三、 在实体类中,添加: @JSONField注解,如果为false,接口中不会返回这个字段。
@JSONField(serialize = false) private String password;源码获取:
github
欢迎关注公众号,查看更多内容 : 
继续阅读与本文标签相同的文章
上一篇 :
1.44元起,快照服务让您ECS数据全年无忧
下一篇 :
关于波分复用技术的CWDM与DWDM光模块介绍
-
做网络安全防护前,我们需要了解那些网络攻击的表现形式
2026-05-21栏目: 教程
-
论mvn snapshot版本的危害
2026-05-21栏目: 教程
-
殷浩详解DDD系列 第一讲 - Domain Primitive
2026-05-21栏目: 教程
-
玩转阿里云 Terraform(一):Terraform 是什么
2026-05-21栏目: 教程
-
统一数据模型(Universal Data Model)系列一
2026-05-21栏目: 教程
