安装依赖项
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-validation</artifactId></dependency>
1、新建实体类
@Data
public class UserEntity {private String name;private Integer age;
}
2、新建验证类
import com.example.springboot3mqtt.entity.UserEntity;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;public class UserValidator implements Validator {//判断当前验证器是否支持该class类型的验证@Overridepublic boolean supports(Class<?> clazz){return clazz.equals(UserEntity.class);//对应的实体类}//验证逻辑@Overridepublic void validate(Object target, Errors errors){if (target==null){errors.rejectValue("","300","用户不得为空");}UserEntity user=(UserEntity)target;if(user.getName()==null || user.getName().isEmpty()){errors.rejectValue("name","300","用户名不能为空");}}
}
3、在控制器中
3.1 首先写入方法
@InitBinder注解的作用是在控制器方法执行之前,先执行有 @InitBinder注解的方法,使用WebDataBinder 把新建的验证规则绑定
@InitBinderpublic void initBinder(WebDataBinder binder){binder.setValidator(new UserValidator());//绑定刚才的自定义验证器}
3.2 在控制器接口参数中
@PostMapping("/updateUser")public String updateUser(@Valid @RequestBody UserEntity user){//Validatorreturn "OK";}