SpringBoot入门-分组校验
我们在开发的时候会有这样的需求,当新增时不需要校验id,但当修改时id不能为空,这时就要用到分组校验了。第一步,新增UpdateGroup接口作为更新操作的标识public interface UpdateGroup {}第二步,只有更新操作才需要校验的字段打上这个标识,其他没有这个标识的都是默认分组@NotNull(groups = UpdateGroup.class)private Integ
·
我们在开发的时候会有这样的需求,当新增时不需要校验id,但当修改时id不能为空,这时就要用到分组校验了。
第一步,新增UpdateGroup接口作为更新操作的标识
public interface UpdateGroup {
}
第二步,只有更新操作才需要校验的字段打上这个标识,其他没有这个标识的都是默认分组
@NotNull(groups = UpdateGroup.class)
private Integer id;
@ApiModelProperty(value = "用户名")
@NotEmpty
private String username;
第三步,在controller验证时加上这个分组标识,没加的就用默认分组
@ApiOperation(value = "保存用户")
@PostMapping
public Result save(@RequestBody @Validated User user) {
return resultOk();
}
@ApiOperation(value = "修改用户")
@PutMapping
//@Validated({UpdateGroup.class, Default.class})表示UpdateGroup和默认分组都参与校验
public Result update(@RequestBody @Validated({UpdateGroup.class, Default.class}) User user) {
return resultOk();
}
演示,修改用户时会去校验id,保存用户不会
参考项目(模块: SpringBoot-HelloWorld): https://gitee.com/huatin/java-test
更多推荐
已为社区贡献6条内容
所有评论(0)