@Validated使用详解
时间: 2023-10-31 18:05:12 浏览: 153
@Validated 是 Spring 提供的一种数据校验注解,它可以对方法参数进行校验。它是在 Bean Validation 的基础上进行了扩展,可以在 Spring 中使用。
使用方法如下:
1. 添加依赖
```
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
```
2. 在 Controller 的方法参数上添加 @Validated 注解
```
@RestController
@Validated
public class UserController {
@PostMapping("/users")
public ResponseEntity<User> createUser(@RequestBody @Valid User user) {
// ...
}
}
```
3. 在实体类中添加校验注解
```
public class User {
@NotNull
private String name;
@Min(18)
private Integer age;
// ...
}
```
在上面的例子中,@Validated 注解标注在了 Controller 类上,表示该类下的方法参数都需要做数据校验。@Validated 注解还可以标注在方法上,表示该方法的参数需要进行校验。
@Validated 注解可以与其他校验注解一起使用,例如 @NotNull、@Min 等。当校验失败时,会抛出 ConstraintViolationException 异常,需要在全局异常处理器中进行处理,返回相应的错误信息。
需要注意的是,@Validated 注解只能用于方法参数上,不能用于类成员变量上。如果需要对类成员变量进行校验,可以使用 @Valid 注解。
阅读全文