@Validated注解
时间: 2023-06-02 21:02:33 浏览: 96
Java使用@Validated注解进行参数验证的方法
@Validated是Spring框架中的注解,用于验证方法的参数。它可以被用于类、接口、方法和参数上。
在方法上使用@Validated注解,可以启用Spring的参数验证器,以确保传递给方法的参数符合指定的约束条件。如果参数不符合条件,则会抛出ValidationException异常。
@Validated注解还可以用于指定验证分组,以便在不同的场景下对参数进行验证。它可以与JSR-303 Bean Validation规范中的注解一起使用,比如@NotNull、@NotBlank、@Size等。
例如:
```
@RestController
@RequestMapping("/users")
@Validated
public class UserController {
@PostMapping
public User createUser(@RequestBody @Validated(CreateUser.class) User user) {
// create user
}
@PatchMapping("/{id}")
public User updateUser(@PathVariable Long id, @RequestBody @Validated(UpdateUser.class) User user) {
// update user
}
public interface CreateUser {}
public interface UpdateUser {}
}
```
上面的代码演示了如何在Spring MVC控制器中使用@Validated注解。在createUser方法中,@Validated注解指定了CreateUser分组,这意味着只有使用CreateUser注解的验证器才会对参数进行验证。同样,在updateUser方法中,@Validated注解指定了UpdateUser分组。
这种分组验证可以让我们在不同的场景下对参数进行不同的验证,从而提高系统的可靠性和安全性。
阅读全文