千家信息网

如何使用自定义注解进行restful请求参数的校验方式

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家分享的是有关如何使用自定义注解进行restful请求参数的校验方式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。自定义注解进行restful请求参数的校验在使
千家信息网最后更新 2026年11月03日如何使用自定义注解进行restful请求参数的校验方式

这篇文章给大家分享的是有关如何使用自定义注解进行restful请求参数的校验方式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

自定义注解进行restful请求参数的校验

在使用springmvc开发的时候,我们通常会在controller中的方法参数实体类中加上@NotNull()等类似注解,然后在方法参数上加上

@Vilad 注解,这样在有请求的时候,就会自动按照我们的注解进行参数是否合法,避免了我们手工的校验。

但是,自带的校验注解有的时候并不能满足我们的业务验证需求,因此,我们就有必要进行自定义校验注解,以业务为需求定制我们

自己的校验注解。

下面我们来看一个例子:

1、首先我们使用@interface定义一个注解

@Target( { METHOD, FIELD, ANNOTATION_TYPE })@Retention(RUNTIME)@Constraint(validatedBy = ByteLengthValidator.class)// 使用@Constraint指定注解校验实现类,这是一个限制型注解,只能使用指定的实现类@Documentedpublic @interface ByteLength {    int min() default 0;     int max() default 2147483647;     String charsetName() default "GBK";     String message() default "的长度只能在{min}和{max}之间";     Class[] groups() default {};     Class[] payload() default {};}

2、实现注解实现类(和@interface定义的注解在同一个包下)

注解实现类需要实现ConstraintValidator 接口

public class ByteLengthValidator implements ConstraintValidator{   // 实现ConstraintValidator  int min; int max;        String charsetName;  @Override public void initialize(ByteLength constraintAnnotation) {  this.min = constraintAnnotation.min();  this.max = constraintAnnotation.max();        this.charsetName = constraintAnnotation.charsetName(); }  @Override public boolean isValid(String value, ConstraintValidatorContext context) {   // 实现校验规则        if (null == value) {            return min <= 0;        }         try {            int length = value.getBytes(charsetName).length;            return length >= min && length <= max;        } catch (UnsupportedEncodingException e) {            e.printStackTrace();            return false;        } }}

3、在需要校验的对象的字段上加上@ByteLength注解

然后在接口方法的该对象参数上加上@Vilad 注解,在接收的请求的时候,就会使用

我们自定义的@ByteLength 进行校验该字段。

springboot小技巧:restful接口参数校验,自定义校验规则

restful风格接口参数校验

在接收参数的实体类的属性上添加默认的注解或者自定义注解

自定义参数校验注解方法

1>定义自定义注解

2>定义参数校验逻辑的处理类

感谢各位的阅读!关于"如何使用自定义注解进行restful请求参数的校验方式"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

注解 参数 接口 方法 时候 方式 业务 内容 字段 实体 对象 更多 篇文章 规则 需求 不错 合法 实用 必要 之间 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 互联网科技公司 互联网科技公司起名 广州百单互联网科技有限公司 新华互联网科技学院 互联网科技公司电话 互联网科技作文 世界互联网领先科技成果 伴你行互联网科技有限公司 长亮科技互联网金融 撒么互联网科技公司 互联网养老 桔豆科技 常德市电业局互联网科技部 乌苏新华互联网科技做什么的 35岁以上互联网科技行业 全球科技与互联网公司市值变化 美国五大互联网科技公司市值多少 互联网时代高科技布局 绵阳真晨互联网科技有限公司 中国主要互联网科技公司 互联网为科技 高科技与互联网 开启互联网科技时代小说 广州慧亚互联网科技怎么样 小米互联网科技园设置 受益于互联网科技的高速发展 广州梦谷互联网科技有限公司领导 互联网时代科技型公司的机会 互联网科技机房 平安好医生打造互联网科技医疗
0