@valid 是在 javax.validation.Valid包下面的,主要功能就是帮我校验参数封装到pojo时使用,比如一个登录的请求,我们会把前端传过来的username,password封装进一个实体,由于我们不知道username,和password的数据是否为空(前端传来的一切数据都是不可信的)。正常我们就在service进行校验,这样会产生大量的冗余代码。这是我们就可以使用@valid注解配合别的校验注解在封装进实体的时候校验。
controller层使用会校验你后面实体的成员变量
当前端没有传custId时候,就会报异常
还有一种使用就是可以多级校验 ,当一个实体包含另一个实体,我们也需要校验实体内的另一个实体的属性时候,也可以在成员变量上使用@valid
这样就可以校验实体内另一个对象了,不加是不会校验的