如何使用自定义注解进行restful请求参数的校验方式
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家分享的是有关如何使用自定义注解进行restful请求参数的校验方式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。自定义注解进行restful请求参数的校验在使
千家信息网最后更新 2025年02月01日如何使用自定义注解进行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安全错误
数据库的锁怎样保障安全
大连服务器租用公司哪家好
数码表格数据库
江苏电脑软件开发
tx数据库下载
网站服务器怎么打开
华拓互联网科技待遇
挑选网络技术开发源头好货
显示卡下载软件开发
方舟服务器熔岩洞穴怎么走
cs起源躲猫猫服务器
网络安全 管理文件
如何学习提高网络技术
郑州紫荆网络安全科技
数据库 备份最佳实践
开封软件开发联系方式
本地上门服务saas软件开发
数据库流水表设计
傻瓜软件开发平台
网络安全定责方法
服务器配置与管理的探讨论文
场景管理游戏服务器
网络安全有关的黑板
网络安全主题宣传语
安徽 数据库安全
浙江省各个县气象数据库
农安先进网络技术质量推荐
法院网络安全工作要点
数据库系统概论全书习题
亚美科技互联网
江苏润广网络技术有限公司