Spring Validated分组校验

使用Spring Validated时,一直不知道有分组校验,分组校验时都在service层使用if else判断校验,感觉这样写不是太友好,后期知道Spring Validated分组校验后,就写了一个同一个接口需要进行分组校验的demo。

@PostMapping("/user")
public Object addUser( @RequestBody User user, BindingResult br){
    Validator validator = Validation.buildDefaultValidatorFactory()
            .getValidator();
    Set> set = validator.validate(user, User.Default.class);

	//该部分可以放到service,当有某个属性不满足时抛出异常,并给前端相应的提示信息
    for (ConstraintViolation constraintViolation : set) {
       String messageTemplate = constraintViolation.getMessageTemplate();//验证信息
       System.out.println(messageTemplate);
   }

    if(br.hasErrors()){
        System.out.println(br);
    } else {
    }
    return "1";
}

@PutMapping("/user")
public Object updateUser(@Validated(value = {User.Update.class, User.Default.class}) @RequestBody User user,
                    BindingResult br) {

    if(br.hasErrors()){
        System.out.println(br);
    } else {
    }
    return "2";
}

demo地址 https://github.com/13162576590/validated_group

你可能感兴趣的:(java)