安装依赖项
<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类型的验证
@Override
public boolean supports(Class<?> clazz){
return clazz.equals(UserEntity.class);//对应的实体类
}
//验证逻辑
@Override
public 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 把新建的验证规则绑定文章来源:https://www.toymoban.com/news/detail-656395.html
@InitBinder
public void initBinder(WebDataBinder binder){
binder.setValidator(new UserValidator());//绑定刚才的自定义验证器
}
3.2 在控制器接口参数中文章来源地址https://www.toymoban.com/news/detail-656395.html
@PostMapping("/updateUser")
public String updateUser(@Valid @RequestBody UserEntity user){
//Validator
return "OK";
}
到了这里,关于spring boot实现实体类参数自定义校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!