千家信息网

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

发表于:2025-11-12 作者:千家信息网编辑
千家信息网最后更新 2025年11月12日,这篇文章给大家分享的是有关如何使用自定义注解进行restful请求参数的校验方式的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。自定义注解进行restful请求参数的校验在使
千家信息网最后更新 2025年11月12日如何使用自定义注解进行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安全错误 数据库的锁怎样保障安全 软件开发商现状 dnf进游戏连接服务器 凌众互联网科技江苏 数据库的简单查询 四年级英语网络安全手抄报 酷米数据库 我国网络安全的基本概况论文 知道网站网址怎么查数据库 营业执照服务器异常是什么意思 sql数据库安全性怎么办 金山区优势软件开发服务商密度 手机dns服务器设置在哪里设置 sql 数据库版本706 南通市政管理软件开发 iba服务器怎么修改地址 sql 数据库运行慢怎么处理 军用综合网络安全防护管理平台 公交车调色软件开发 一本哪个大学有网络安全专业 数据库系统概论作业答案 分机访问不到主机服务器 河北职业软件开发推荐 鱼池服务器被攻击 云服务器上装什么安全软件好 饥荒怎么查看玩过的服务器 通信网络技术演进 百度网络技术有限公司上市了吗 实际存储在数据库中的表是 服务器主机插在电视上怎么使用 罗克韦尔软件开发
0