Spring boot 参数分组校验

Spring boot 参数分组校验

项目源码下载:demo-boot-group-validation.zip 访问密码:9987

分组校验演示项目结构

演示项目创建

maven主要依赖:

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

提示:低版本的spring boot 无需单独引入spring-boot-starter-validation

演示数据模型:

@Data
public class UserInfo {
    @NotNull(groups = {Update.class},message = "请填写id信息")
    private Long id;
    @NotEmpty(groups = {Add.class,Update.class},message = "请填写用户名称")
    private String name;
}

controller编写:

    @PostMapping("/test/add")
    public Object add(@RequestBody @Validated(value = {Add.class})UserInfo userInfo){
        return userInfo;
    }

    @PostMapping("/test/update")
    public Object update(@RequestBody @Validated(value = {Update.class})UserInfo userInfo){
        return userInfo;
    }

 

Postman 数据测试分组校验

运行项目,然后通过postman提交数据测试
可以看到用户名称校验的错误信息,因为新增我们只校验了Add.class分组,所以当前的结果是正常的。

 


调用更新接口,校验了更新组的字段,可以看到 id和name字段都参与了校验,验证了分组校验的成功。


当填入正确数据,返回的结果是正常的,没有走校验错误返回

 

Spring boot 参数分组校验

相关文章:

你感兴趣的文章:

标签云: