SpringBoot中如果字段为空就不返回给前端
- 前言
- 测试参数的执行结果
- JsonInclude.Include.ALWAYS
- JsonInclude.Include.NON_NULL
- JsonInclude.Include.NON_ABSENT
- JsonInclude.Include.NON_EMPTY
- JsonInclude.Include.NON_DEFAULT
- JsonInclude.Include.USE_DEFAULTS
- JsonInclude.Include.CUSTOM
- 仰天大笑出门去,我辈岂是蓬蒿人
前言
大概内容:
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
它为自定义注解就不测试了