如何在Spring Boot中实现数据校验
Spring Boot支持使用Bean Validation(JSR-303/JSR-380)进行数据校验。
步骤1:添加依赖
Spring Boot默认已经集成了Bean Validation,无需额外依赖。
步骤2:定义实体类并添加校验注解
java
复制
public class User {
@NotNull(message = "Name cannot be null")
@Size(min = 2, max = 50, message = "Name must be between 2 and 50 characters")
private String name;
@Min(value = 18, message = "Age must be at least 18")
private int age;
@Email(message = "Invalid email format")
private String email;
}
步骤3:在Controller中启用校验
使用@Valid或@Validated注解启用校验:
java
复制
@RestController
@RequestMapping("/users")
public class UserController {
@PostMapping
public ResponseEntity
return ResponseEntity.ok("User created successfully");
}
}
步骤4:自定义校验逻辑(可选)
如果需要自定义校验逻辑,可以实现ConstraintValidator接口:
java
复制
@Constraint(validatedBy = CustomConstraintValidator.class)
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
public @interface CustomConstraint {
String message() default "Invalid custom constraint";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
public class CustomConstraintValidator implements ConstraintValidator<CustomConstraint, String> {
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
return value != null && value.startsWith("custom");
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix