springboot请求参数校验(自定义注解、反射机制)

在很多应用场景下,后端代码接受到前端请求传来的参数后,先要进行参数校验,然后才进行下一步的业务逻辑操作。

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) {
        // 字段校验逻辑,判断

猜你喜欢

转载自blog.csdn.net/Tommy5553/article/details/117123301