如何使用自定义注解进行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 extends Payload>[] 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岁以上互联网科技行业
全球科技与互联网公司市值变化
美国五大互联网科技公司市值多少
互联网时代高科技布局
绵阳真晨互联网科技有限公司
中国主要互联网科技公司
互联网为科技
高科技与互联网
开启互联网科技时代小说
广州慧亚互联网科技怎么样
小米互联网科技园设置
受益于互联网科技的高速发展
广州梦谷互联网科技有限公司领导
互联网时代科技型公司的机会
互联网科技机房
平安好医生打造互联网科技医疗