如何在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 createUser(@Valid @RequestBody User user) {
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");
}
}

posted @   软工李文轩  阅读(8)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示