JSR303参数校验的使用步骤(validation)

一般在JavaWeb项目里面,只要是对外的接口,对于传入的参数都是校验的,判断是否为空,是否符合规定的格式等等的一些要求,一般我们都是采用下面的代码来校验

if (StringUtils.isEmpty(password)){
    return Result.fail(Codemesg.PASSWORD_EMPTY);//判断密码是否为空
}
if (StringUtils.isEmpty(mobile)){
    return Result.fail(Codemesg.MOBILE_EMPTY);//判断手机号码是否为空
}

if (!ValidatorUtil.isMobile(mobile)){
    return Result.fail(Codemesg.MOBILE_TYPE_ERROR);//判断手机号码是否符合规定,比如满足11位
}

就像上面一样,每次都要写这么多代码来判断,而且其他地方也有,都是重复性的代码。有什么好的办法解决一下吗?当然有

今天主要是介绍一下在JSR303参数校验中使用validation做参数校验的方法

今天演示使用的是spring-boot项目

1.引入spring-boot-starter-validation依赖


    org.springframework.boot
    spring-boot-starter-validation

2.在需要验证的pojo对象的属性上面添加相应的校验注解

public class User {
    @NotNull
    private String id;
    @NotNull
    @Length(min = 3)
    private String name;
}
@NotNull表示的是不能为空
@Length(min = 3)表示输入数据的长度最小值是3

3.在引用到这个对象的地方添加上@Valid这个注解

@Controller
public class UserController {

    @RequestMapping("/validation")
    @ResponseBody
    public String testValidation(@Valid User user){
        return user.toString();
    }
}

到此validation就是使用完毕,在运行的过程中如果参数为空,就会自动报错,不会进入

GitHub地址

你可能感兴趣的:(JSR303参数校验的使用步骤(validation))