springboot的参数验证
时间: 2023-06-30 13:25:47 浏览: 144
Spring Boot 集成了 Hibernate Validator,可以很方便地对请求参数进行验证。在 Spring Boot 中,我们可以通过在 Controller 方法的参数上添加 `@Valid` 注解,来触发参数验证。
以下是一个简单的示例:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping
public ResponseEntity<User> createUser(@Valid @RequestBody User user) {
// 处理用户创建逻辑
return ResponseEntity.ok(user);
}
}
```
在上面的示例中,我们在 `createUser` 方法的参数 `User` 前添加了 `@Valid` 注解,表示需要对请求体进行验证。如果验证不通过,则会抛出 `MethodArgumentNotValidException` 异常。
在 `User` 类中,我们可以使用 Hibernate Validator 提供的注解来声明验证规则,例如 `@NotNull`、`@Size`、`@Email` 等等。
```java
public class User {
@NotNull
private String name;
@NotNull
@Email
private String email;
@Size(min = 6, max = 20)
private String password;
// 省略 getter 和 setter
}
```
在上面的示例中,我们使用了 `@NotNull`、`@Email` 和 `@Size` 注解来声明了三个验证规则:`name` 和 `email` 不能为空,`email` 必须是一个合法的邮箱地址,`password` 的长度必须在 6 到 20 之间。
通过上面的示例,我们可以看到 Spring Boot 集成 Hibernate Validator 的使用方法,以及如何声明验证规则。
阅读全文