SpringBoot使用分组校验解决同一个实体对象在不同场景下需要不同校验规则的问题

背景

添加分类的接口不需要id字段,但更新分类的接口需要id字段,当在id字段上使用@NotNull注解时,会导致使用添加分类接口报id字段不能为空的错误

解决

定义分组

pojo/Category.java

csharp 复制代码
// 如果没有指定分组,则默认属于Default分组
public interface Add extends Default {}
public interface Update extends Default{}

定义校验项时指定归属的分组

校验时指定要校验的分组


注意事项

定义校验项时如果没有指定分组,则属于Default分组,分组可以继承

参考视频

https://www.bilibili.com/video/BV14z4y1N7pg?spm_id_from=333.788.player.switch\&vd_source=0467ab39cc5ec5940fee22a0e7797575\&p=31

相关推荐
Jerry&Grj1 天前
SpringBoot埋点功能技术实现方案深度解析:架构设计、性能优化与扩展性实践
java·微服务·性能优化·springboot·架构设计·埋点技术
没有bug.的程序员1 天前
Redis Stream:轻量级消息队列深度解析
java·数据库·chrome·redis·消息队列
用户8160791833331 天前
告别“魔法”:包你解决 Gradle 的下载慢问题
java
老青蛙1 天前
权限系统设计-用户设计
后端
当归10241 天前
SQL Server死锁排查实战指南
java·服务器·网络
echoyu.1 天前
消息队列-初识kafka
java·分布式·后端·spring cloud·中间件·架构·kafka
little_xianzhong1 天前
关于对逾期提醒的定时任务~改进完善
java·数据库·spring boot·spring·mybatis
yuluo_YX1 天前
Go Style 代码风格规范
开发语言·后端·golang
百锦再1 天前
脚本语言的大浪淘沙或百花争艳
java·开发语言·人工智能·python·django·virtualenv·pygame
小猪咪piggy1 天前
【JavaEE】(23) 综合练习--博客系统
java·数据库·java-ee