美文网首页
spring boot validation 自定义注解

spring boot validation 自定义注解

作者: 填坑二十年 | 来源:发表于2020-11-16 17:04 被阅读0次

编写注解类

@Target({ElementType.METHOD, ElementType.FIELD, ElementType.ANNOTATION_TYPE, ElementType.CONSTRUCTOR, ElementType.PARAMETER, ElementType.TYPE_USE})

@Retention(RetentionPolicy.RUNTIME)

//通过UserStatusValidator类实现注解的相关校验操作

@Constraint(validatedBy = UserStatusValidator.class)

@Documented

public @interface UserStatus {

Stringmessage()default "没有这个类型,请重新选择!";

    Class[]groups()default {};

    Class[]payload()default {};

}



编写注解实现类

public class UserStatusValidatorimplements ConstraintValidator {

@Override

    public void initialize(UserStatus constraintAnnotation) {

}

@Override

    public boolean isValid(Integer s, ConstraintValidatorContext constraintValidatorContext) {

//判断传入的值 s 是否是集合里的值

        return Arrays.asList(1,2).contains(s);

    }

}


编写实体类

@Data

public class UserVo {

private Integerid;

    private Stringname;

    @UserStatus(message ="用户类型错误!")

private Integerstatus;

}


编写调用类

@RequestMapping(value ="/user/addUser", produces = MediaType.APPLICATION_JSON_VALUE,method = {RequestMethod.POST})

@ResponseBody

public ResultDTOaddUser(@RequestBody @Valid UserVo userVo){

logger.info("addUser-{} start ." , JSON.toJSONString(userVo));

    return  new ResultDTO<>();

}


调用结果

相关文章

网友评论

      本文标题:spring boot validation 自定义注解

      本文链接:https://www.haomeiwen.com/subject/mafroftx.html