美文网首页
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