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
它为自定义注解就不测试了




















