在很多应用场景下,后端代码接受到前端请求传来的参数后,先要进行参数校验,然后才进行下一步的业务逻辑操作。
1、自定义注解并实现ConstraintValidator接口进行参数校验
首先自定义一个注解,用来标识需要校验的请求参数字段
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Constraint(validatedBy = ParameterValidate.class)
public @interface IllegalParameterValidate {
String message() default "非法参数";
Class<?>[] groups() default { };
Class<? extends Payload>[] payload() default { };
}
自定义一个校验逻辑类实现ConstraintValidator接口
public class ParameterValidate implements ConstraintValidator<IllegalParameterValidate, String> {
@Autowired
private DiscernService discernService;
@Override
public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
// 字段校验逻辑,判断