安裝依賴(lài)項(xiàng)
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
1、新建實(shí)體類(lèi)
@Data
public class UserEntity {
private String name;
private Integer age;
}
2、新建驗(yàn)證類(lèi)
import com.example.springboot3mqtt.entity.UserEntity;
import org.springframework.validation.Errors;
import org.springframework.validation.Validator;
public class UserValidator implements Validator {
//判斷當(dāng)前驗(yàn)證器是否支持該class類(lèi)型的驗(yàn)證
@Override
public boolean supports(Class<?> clazz){
return clazz.equals(UserEntity.class);//對(duì)應(yīng)的實(shí)體類(lèi)
}
//驗(yàn)證邏輯
@Override
public void validate(Object target, Errors errors){
if (target==null){
errors.rejectValue("","300","用戶(hù)不得為空");
}
UserEntity user=(UserEntity)target;
if(user.getName()==null || user.getName().isEmpty()){
errors.rejectValue("name","300","用戶(hù)名不能為空");
}
}
}
3、在控制器中
3.1 首先寫(xiě)入方法
@InitBinder注解的作用是在控制器方法執(zhí)行之前,先執(zhí)行有 @InitBinder注解的方法,使用WebDataBinder 把新建的驗(yàn)證規(guī)則綁定文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-656395.html
@InitBinder
public void initBinder(WebDataBinder binder){
binder.setValidator(new UserValidator());//綁定剛才的自定義驗(yàn)證器
}
3.2 在控制器接口參數(shù)中文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-656395.html
@PostMapping("/updateUser")
public String updateUser(@Valid @RequestBody UserEntity user){
//Validator
return "OK";
}
到了這里,關(guān)于spring boot實(shí)現(xiàn)實(shí)體類(lèi)參數(shù)自定義校驗(yàn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!