最近写开放文档,接口参数校验要求特别严,
javax.validation的默认入参校验已经满足不了业务需求,因此需要自定义的入参校验。
首先看一下使用方法,和默认的注解用法一致

然后看一下注解的定义
@Target({ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = CheckChannelNumImpl.class)
public @interface CheckChannelNum {
String message() default "通道号不正确";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
最后就是代码的实现了
public class CheckChannelNumImpl implements ConstraintValidator<CheckChannelNum,String> {
@Override
public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) {
if (value == null){
return true;
}
if (value.length() > 8){
return false;
}
return CommonUtil.isPositiveInteger(value);
}
}返回false则代表校验失败
版权声明:本文为Huiger1234原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。