网站搜索排名和什么有关系,嘉兴建设局网站,WordPress分类信息主题,织梦和wordpress哪个安全在Spring Boot项目中使用校验框架validation可以让我们更方便地实现数据校验和错误提示。下面是Spring Boot集成校验框架validation的步骤。 添加依赖
在项目的pom.xml文件中添加validation依赖#xff1a;
dependencygroupIdorg.springframework.boot/…在Spring Boot项目中使用校验框架validation可以让我们更方便地实现数据校验和错误提示。下面是Spring Boot集成校验框架validation的步骤。 添加依赖
在项目的pom.xml文件中添加validation依赖
dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-validation/artifactId
/dependency定义实体类
定义需要校验的实体类并在属性上添加NotBlank、Max、Min等校验注解。例如
public class User {NotBlank(message 用户名不能为空)private String username;NotBlank(message 密码不能为空)private String password;Max(value 100, message 年龄不能超过100岁)Min(value 0, message 年龄不能小于0岁)private int age;// ... getter/setter
}编写校验逻辑
在Controller中编写校验逻辑首先需要在方法入参中添加Valid注解触发校验。例如
RestController
public class UserController {PostMapping(/user)public Result saveUser(Valid RequestBody User user) {// 保存用户信息// ...return Result.success();}// ...
}处理校验错误
在Controller中通过添加BindingResult类型的参数来获取校验结果并进行错误处理。例如
RestController
public class UserController {PostMapping(/user)public Result saveUser(Valid RequestBody User user, BindingResult bindingResult) {if (bindingResult.hasErrors()) {return Result.failure(bindingResult.getAllErrors().get(0).getDefaultMessage());}// 保存用户信息// ...return Result.success();}// ...
}BindingResult中存储了所有的校验错误信息。我们可以通过getAllErrors()方法获取所有错误信息然后根据需要进行处理。 自定义校验注解
在实际开发中我们可能需要定义自己的校验注解。这时需要定义注解和对应的校验器。例如定义一个手机号码校验注解和对应的校验器
Target({ElementType.FIELD})
Retention(RetentionPolicy.RUNTIME)
Constraint(validatedBy PhoneValidator.class)
public interface Phone {String message() default 手机号格式不正确;Class?[] groups() default {};Class? extends Payload[] payload() default {};
}public class PhoneValidator implements ConstraintValidatorPhone, String {private static final String REGEX_PHONE ^1[3456789]\\d{9}$; // 手机号正则表达式Overridepublic void initialize(Phone phone) {}Overridepublic boolean isValid(String value, ConstraintValidatorContext context) {if (StringUtils.isBlank(value)) {return true; // 忽略空值由NotBlank注解校验}return Pattern.matches(REGEX_PHONE, value);}
}然后在实体类中使用该注解
public class User {// ...Phone(message 手机号格式不正确)private String phone;// ... getter/setter
}至此Spring Boot集成校验框架validation的步骤介绍完毕。