一、目标
- 接口开发中,肯定会遇到参数校验的问题。其中有一种场景是,入参中的某一个参数,例如type字段,不能是1,或者2,或者-1,-2。这种情况下没有现成的约束注解,可以使用。此时我们就需要开发自己的约束,也就是自定义约束注解。
二、定义约束
开发自定义约束注解,首先要定义约束(constraint)。具体代码如下:
package com.wanmuya.validator.chapter01;
import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = {
})
@Documented
public @interface Exclude {
String message() default "{com.wanmuya.validator.chapter01.message}";
Class<?>[] groups() default {
};
Class<? extends Payload>[] payload() default {
};
/**
* 要指定排除的值。
*/
String[] value();
}
- message是存储错误信息的变量,默认值是类路径加变量名,valu