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

相关推荐
杨运交21 分钟前
[069][公共模块]Spring Boot 全局异常处理与参数校验实战(下):校验异常精细化处理与 WebFlux 适配
java·spring boot·后端
行者-全栈开发35 分钟前
Spring Boot + FFmpeg 视频批量处理实战:压缩、HLS切片与异步任务引擎
spring boot·ffmpeg·异步处理·视频压缩·hls切片·批量任务·redis队列
Raas10041 分钟前
MAI Gateway(魔芋企业级AI网关)对比分析:AI网关和OpenRouter区别?企业级能力差距一览
java·服务器·网络·人工智能·gateway·ai网关·mai gateway
Andya_net1 小时前
Spring Boot | 条件注解完全指南:从 @Conditional 到 @ConditionalOnExpression 的原理、实践与避坑
spring boot·后端·python
APItesterCris1 小时前
告别人工盯品!借助 Open‑Claw 快速搭建电商商品全自动监控与数据分析系统(完整实操代码)
java·大数据·前端·数据库
青山木1 小时前
Hot 100 --- 跳跃游戏 II
java·数据结构·算法·leetcode·贪心算法
ly76891 小时前
Spring 中的 @Configuration 与 @Component 差异:为何代理时机决定 Bean 生命周期行为
java·后端·spring·注解·代理·bean生命周期
qq_452396231 小时前
第十二篇:《数据采集:Grafana Alloy、Fluent Bit、Vector 的选型与配置》
java·贪心算法·grafana
明月_清风1 小时前
字符串匹配四大经典算法:BF、RK、BM、KMP 到底有什么区别?
后端·算法
卷无止境1 小时前
测试全绿,功能能跑,代码却烂到没法上线:AI编程助手留下的十个坑
后端·python