积分中心
Spring Boot 分组校验:创建和更新使用不同规则
头像 ccai 2026-09-24 16:35:26    发布
0 浏览 0 点赞 0 收藏

创建对象和更新对象的校验规则经常不同。例如创建时名称必填,更新时名称可以不传,只修改状态。

可以定义校验分组:

public interface CreateGroup {}
public interface UpdateGroup {}

public class VehicleCommand {
    @NotBlank(groups = CreateGroup.class)
    private String name;

    @NotNull(groups = {CreateGroup.class, UpdateGroup.class})
    private Long id;
}

控制器分别指定校验组:

@PostMapping
public void create(@Validated(CreateGroup.class)
                    @RequestBody VehicleCommand command) {
    service.create(command);
}

错误返回应包含字段名、错误码和用户可理解的提示。测试空字符串、空格、超长文本、非法枚举和不同接口的校验差异。


©本站发布的所有内容,包括但不限于文字、图片、音频、视频、图表、标志、标识、广告、商标、商号、域名、软件、程序等,除特别标明外,均来源于网络或用户投稿,版权归原作者或原出处所有。我们致力于保护原作者版权,若涉及版权问题,请及时联系我们进行处理。
分类
IDE
头像

ccai

我还没有写个人简介......

39

帖子

0

提问

0

粉丝

关注
最新发布
地址:北京市朝阳区北三环东路三元桥曙光西里甲1号第三置业A座1508室 电话:13391790444或(010)62178877
版权所有:电脑商情信息服务集团 北京赢邦策略咨询有限责任公司
声明:本媒体部分图片、文章来源于网络,版权归原作者所有,我司致力于保护作者版权,如有侵权,请与我司联系删除

京ICP备:2022009079号-2

京公网安备:11010502051901号

ICP证:京B2-20230255