栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

自定义参数校验

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

自定义参数校验

自定义参数校验 什么时候需要自定义参数校验?

既然都自定义了,当然是别人提供的默认校验方法不满足需求了。

我们都知道,在接口访问时,可以设置参数校验,来避免请求参数非法的情况,一般除了前端需要校验,后端也需要。而对于参数校验,我们通常使用Spring validation包下的注解,很容易就可以达到常见要求。

但是,当Spring validation 包下的注解无法满足需求时,就需要自定义参数校验规则了。

具体怎么做呢?

自定义:注解+校验类

1. 定义校验类

实现ConstraintValidator接口
其中Annotation表示自定义的校验注解,T表示校验对象的类型;

public class IsShadowValidateServiceImpl implements ConstraintValidator {
    @Override
    public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
        return Objects.equals(s, "shadow");
    }
}
2. 自定义校验注解

包含错误信息,分组(用于分组校验),playload(目前不知道什么用,但是接口中没有这个属性会报错),为了使用时方便,每个属性都设置default默认值;

@Target({ PARAMETER, FIELD })
@Retention(RUNTIME)
@Constraint(validatedBy = IsShadowValidateServiceImpl.class)
public @interface IsShadow {
    String message() default "you are not shadow!";
    Class[] groups() default {};
    Class[] payload() default {};
}

最后,就可以像使用spring validation提供的校验注解一样,使用我们自定义的校验注解了~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/759298.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号