springboot3 spring-boot-starter-validation
时间: 2025-01-22 13:00:58 浏览: 72
### 如何在Spring Boot 3项目中使用 `spring-boot-starter-validation` 进行参数校验
#### 添加依赖项
为了启用 Spring Boot 中的参数校验功能,在项目的 `pom.xml` 文件内需加入如下 Maven 依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
```
此操作确保应用程序能够访问 Hibernate Validator 及其他必要的库来执行数据验证逻辑[^1]。
#### 使用常用注解
一旦配置好上述依赖关系,就可以利用多种内置约束注解来进行字段级别的检验工作。例如:
- `@NotNull`: 验证对象不是 null。
- `@Size(min=, max=)`: 字符串长度、集合大小等是否处于指定范围内。
- `@Min(value)` 和 `@Max(value)`: 数字类型的最小最大值限制。
- `@Email`: 检查字符串是否符合电子邮件地址格式。
这些注解可以直接应用于实体类属性上以便自动触发相应的规则检查过程。
#### 应用场景实例
下面展示了一个简单的控制器方法例子,它接收一个包含用户输入信息的数据传输对象 (DTO),并通过 `@Validated` 注释激活整个请求体的有效性评估流程:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping
public ResponseEntity<String> createUser(@Validated @RequestBody UserDto userDto,
BindingResult bindingResult){
if(bindingResult.hasErrors()){
return new ResponseEntity<>(bindingResult.getAllErrors().toString(), HttpStatus.BAD_REQUEST);
}
// 处理业务逻辑...
return ResponseEntity.ok("User created successfully");
}
}
```
在此代码片段里,当接收到 POST 请求时会先调用 `createUser()` 方法并传入经过 JSON 解析后的 `UserDto` 对象作为参数;如果该对象未能通过定义在其上的任何一条校验条件,则返回 HTTP 400 错误响应给客户端,并附带具体的错误详情列表[^2]。
阅读全文
相关推荐














