Spring boot 后端注解校验
时间: 2025-01-11 12:54:05 浏览: 45
### Spring Boot 中使用注解实现参数校验的方法
在Spring Boot中,通过集成Hibernate Validator并利用其提供的注解能够方便地完成对请求参数的校验工作。当接收到HTTP请求时,如果控制器方法中的参数被`@Valid`或`@Validated`修饰,则会在调用目标处理函数前先触发相应的约束验证逻辑。
对于简单的字段级检验可以直接应用预定义好的JSR 303/349 Bean Validation约束注解到DTO类属性上[^4]:
#### 常见内置注解列表
| 注解 | 描述 |
| --- | --- |
| `@NotNull` | 字段不允许为空(null) |
| `@Size(min=, max=)` | 集合、字符串长度范围限制 |
| `@Min(value)` / `@Max(value)` | 数字最小值/最大值限定 |
| `@DecimalMin(value)` / `@DecimalMax(value)` | 小数类型的边界控制 |
| `@Pattern(regexp)` | 正则表达式匹配模式 |
除了这些基本类型外,还有诸如`@Email`, `@URL`等专门用于特定格式验证的注解也十分有用。
下面给出一段完整的示例代码展示如何在一个RESTful API接口里运用上述机制来进行输入合法性检查:
```java
// 导入必要的包...
import javax.validation.constraints.*;
public class UserRequest {
@NotBlank(message = "用户名不能为空")
private String username;
@Email(message = "邮箱地址不合法")
@NotEmpty(message = "邮箱不可为空")
private String email;
@Digits(integer = 8, fraction = 2,message="金额格式错误")
private BigDecimal amount;
// getter setter ...
}
```
接着,在对应的Controller层编写如下所示的服务端点接收客户端提交的信息,并指定开启校验功能:
```java
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping("/register")
public ResponseEntity<String> register(@RequestBody @Valid UserRequest user){
return new ResponseEntity<>("注册成功", HttpStatus.CREATED);
}
}
```
一旦发生违反既定规则的情况,系统将会自动生成包含具体提示信息在内的响应体返回给调用方;反之则继续正常流程执行后续操作[^2]。
阅读全文
相关推荐

















