前言

大概内容:
SpringBoot中如果字段为空就不返回给前端,可以使用@JsonInclud()来实现这个功能,可用的参数如下。

  • JsonInclude.Include.ALWAYS 这个是默认策略,任何情况下都序列化该字段,跟没加一样。
  • JsonInclude.Include.NON_NULL 这个最常用,为null或者属性没有默认值。
  • JsonInclude.Include.NON_ABSENT 这个包含NON_NULL,即为null的时候不序列化。
  • JsonInclude.Include.NON_EMPTY 包含上面两个,除了数值类型,或者纯空格的字符串都会被序列化。
  • JsonInclude.Include.NON_DEFAULT 最强过滤,只要不赋值就不参与序列化
  • JsonInclude.Include.USE_DEFAULTS 使用默认值的情况下就不序列化。
  • JsonInclude.Include.CUSTOM 这个是自定义包含规则,官方的解释如下:

测试参数的执行结果

这个是测试对象,不做任何修改的执行结果
在这里插入图片描述

JsonInclude.Include.ALWAYS

在这里插入图片描述


JsonInclude.Include.NON_NULL

在这里插入图片描述


JsonInclude.Include.NON_ABSENT

在这里插入图片描述


JsonInclude.Include.NON_EMPTY

在这里插入图片描述


JsonInclude.Include.NON_DEFAULT

在这里插入图片描述
如果给test1赋值
在这里插入图片描述


JsonInclude.Include.USE_DEFAULTS

在这里插入图片描述

JsonInclude.Include.CUSTOM

它为自定义注解就不测试了


仰天大笑出门去,我辈岂是蓬蒿人

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐