@JsonInclude注解增加自定义校验规则
【摘要】
顺便看看@JsonInclude的常用策略:
JsonInclude.Include.ALWAYS 默认策略,无论如何都会序列化该字段,写不写效果都一样; JsonInclude.Include....
顺便看看@JsonInclude的常用策略:
JsonInclude.Include.ALWAYS 默认策略,无论如何都会序列化该字段,写不写效果都一样;
JsonInclude.Include.NON_NULL 最常用,如果该字段为null,就不序列化;
JsonInclude.Include.NON_ABSENT 没用过,不清楚。
JsonInclude.Include.NON_EMPTY 这个属性包含NON_NULL,NON_ABSENT之后还包含如果字段为空也不序列化。
JsonInclude.Include.NON_DEFAULT 这个属性是如果该字段为默认值的话就不序列化。
JsonInclude.Include.USE_DEFAULTS 如果有默认值的话就不序列化。
JsonInclude.Include.CUSTOM 这个就是自定义校验规则,下面详细讲:
如何使用:
value = JsonInclude.Include.CUSTOM
@JsonInclude(value = JsonInclude.Include.CUSTOM, valueFilter = UsernameFilter.class)
private String username;
- 1
- 2
自定义一个UsernameFilter类:
重写它的equals方法,在里面做你的校验逻辑,如果返回true,就不序列化 username 字段;
public class UsernameFilter{
@Override
public boolean equals(Object obj) {
if(//todo) return true
return false;
}
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
文章来源: huangjie.blog.csdn.net,作者:负债程序猿,版权归原作者所有,如需转载,请联系作者。
原文链接:huangjie.blog.csdn.net/article/details/114582716
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)