目录
2.2、javax.validation.constraints 提供的校验注解
一、依赖
父依赖即为 spring boot
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
二、常用注解说明
2.1、参数校验注解
参数校验主要使用以下两个注解:
a)@Validated 一般用于在 Api 类上标注,那么在 Api 类下的方法参数中,使用 javax.validation.constraints 提供的注解生效.
满足条件时,引发异常:ConstraintViolationException.class

b)@Valid 注解一般有两个作用
第一,在方法的参数中标注对象,那么该对象使用 javax.validation.constraints 提供的注解生效


第二,嵌套参数,例如 UserInfo 类中的成员变量有一个 Avatar 对象,并且 Avatar 的成员变量也被 javax.validation.constraints 提供的注解标记,此时就需要在 Avatar 对象上标注 @Valid 注解,否则 Avatar 对象中的注解不生效.

满足条件时,引发异常:MethodArgumentNotValidException.class
2.2、javax.validation.constraints 提供的校验注解
javax.validation.constraints 提供的注解如下:

这里使用上大家可能有一个误区:UserInfo 中有一个字段 age 不能为空,并且需要小于 100. 此时,有人可能只使用了 @Max(100),以为这里隐含了一个不为空的含义,实则不然,还是因该老老实实如下写法:


本文介绍了SpringBoot项目中如何使用依赖并详细解释了@Validated和@Valid注解在参数校验中的应用,以及javax.validation.constraints提供的常用校验注解的正确用法。特别强调了对年龄等字段进行非空和范围检查的注意事项。
978

被折叠的 条评论
为什么被折叠?



