API接口入参动态校验方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38716248 阅读:11 留言:0更新日期:2023-09-08 14:59
本申请提供了一种API接口入参动态校验方法、装置、电子设备及存储介质,所述方法包括:定义API接口入参的目标校验规则,并将目标校验规则持久化至数据库中;从数据库中获取目标校验规则,将目标校验规则加载至数据校验框架中;响应于API接口入参,判断API接口入参是否需要动态校验,响应于API接口入参需要动态校验,则根据数据校验框架匹配出与API接口入参对应的目标校验实例,以执行数据校验。本申请从数据库中读取校验规则,将校验规则按照数据校验框架的规范,调用其提供的扩展接口,并加载至数据校验框架中,并与校验规则中的API和场景号为key创建关联关系,以达到API接口入参的动态校验的技术效果。的动态校验的技术效果。的动态校验的技术效果。

【技术实现步骤摘要】
API接口入参动态校验方法、装置、电子设备及存储介质


[0001]本申请属于基础能力

通用后端
,尤其涉及一种API接口入参动态校验方法、装置、电子设备及存储介质。

技术介绍

[0002]在需求多样化的后端应用中,API接口入参可能存在不同场景下校验规则不一样的情况,现在后端应用的参数校验大多依赖hibernate

validator框架,而此框架提供的校验规则大多是通过注解的形式,比如场景1时,字段1和字段2均不可为空,场景2时,字段1可为空,字段2不可为空,这种情况下无法做到动态判断,特别是在同一接口对接多个web应用或第三方调用者时缺点尤为明显。

技术实现思路

[0003]有鉴于此,本申请旨在提出一种API接口入参动态校验方法、装置、电子设备及存储介质,以解决通过代码硬编码加注解的方式无法进行动态校验的问题。
[0004]为达到上述目的,本申请的技术方案是这样实现的:
[0005]本申请提供了一种API接口入参动态校验方法,所述方法包括:
[0006]定义API接口入参的目标校验规则,并将所述目标校验规则持久化至数据库中;
[0007]从所述数据库中获取所述目标校验规则,将所述目标校验规则加载至数据校验框架中;
[0008]响应于API接口入参,判断所述API接口入参是否需要动态校验,响应于所述API接口入参需要动态校验,则根据所述数据校验框架匹配出与所述API接口入参对应的目标校验实例,以执行数据校验。/>[0009]进一步地,所述定义API接口入参的目标校验规则,并将所述目标校验规则持久化至数据库,包括:
[0010]获取API接口入参的需求配置文件,并根据所述需求配置文件配置生成目标校验规则;
[0011]通过sql语句或后台管理平台将所述API接口入参对应的目标校验规则持久化至数据库中。
[0012]进一步地,所述从所述数据库中获取所述目标校验规则,将所述目标校验规则加载至数据校验框架中,包括:
[0013]从数据库中读取所述目标校验规则,根据所述目标校验规则调用其对应的扩展接口加载至数据校验框架中,并以所述目标校验规则中的API+场景号为key创建关联关系。
[0014]进一步地,所述响应于API接口入参,判断所述API接口入参是否需要动态校验,响应于所述API接口入参需要动态校验,则根据所述数据校验框架匹配出与所述API接口入参对应的目标校验实例,以执行数据校验,包括:
[0015]判断所述API接口入参是否需要动态检验,响应于所述API接口入参需要动态校
验,根据所述key查找对应的动态校验规则,进而匹配出对应的目标校验实例。
[0016]进一步地,还包括:
[0017]响应于执行数据校验成功,则进行后续业务流程处理;
[0018]响应于执行数据校验失败,则抛出异常提示。
[0019]基于同一专利技术构思,本申请还提供了一种API接口入参动态校验装置,所述装置包括:
[0020]定义模块,被配置为,定义API接口入参的目标校验规则,并将所述目标校验规则持久化至数据库中;
[0021]加载模块,被配置为,从所述数据库中获取所述目标校验规则,将所述目标校验规则加载至数据校验框架中;
[0022]数据校验模块,被配置为,响应于API接口入参,判断所述API接口入参是否需要动态校验,响应于所述API接口入参需要动态校验,则根据所述数据校验框架匹配出与所述API接口入参对应的目标校验实例,以执行数据校验。
[0023]基于同一专利技术构思,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的API接口入参动态校验方法。
[0024]基于同一专利技术构思,本申请还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上所述的API接口入参动态校验方法。
[0025]相对于现有技术,本申请所述的API接口入参动态校验方法、装置、电子设备及存储介质具有以下有益效果:
[0026]本申请所述的API接口入参动态校验方法、装置、电子设备及存储介质,所述方法旨在兼容hibernate

validator的情况下,将校验规则持久化,并在项目启动时加载至校验框架中,针对同一API接口不同场景下的接口入参进行动态校验,在兼容原有的校验框架的情况下,增加了动态校验的特性,且易于维护、易于扩展,在一个API对接多个第三方调用时尤为明显,同时,所述API接口入参的动态校验代码简洁,将参数校验统一处理,提高程序的可读性,减少不必要的校验代码逻辑。
附图说明
[0027]构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0028]图1为本申请实施例所述的API接口入参动态校验方法流程示意图;
[0029]图2为本申请实施例所述的API接口入参动态校验装置结构示意图;
[0030]图3为本申请实施例所述的电子设备的结构示意图。
具体实施方式
[0031]为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
[0032]需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当
为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
[0033]如
技术介绍
部分所述,目前大多方案都只是通过代码硬编码,加注解的形式进行参数校验,这无法支持复杂场景,开发人员只能够在代码中通过不同场景判断,增加许多代码块来做这个事情,比如一个API接口有10个场景,则需要10段代码来处理参数校验,相关的API接口入参校验方法存在无法动态校验、不能满足复杂场景的缺陷,难以满足API接口入参的校验需求。
[0034]基于此,本申请中的一个或多个实施例中提供了API接口入参动态校验方法,本申请旨在兼容hibernate

validator的情况下,将校验规则持久化,并在项目启动时加载至校验框架中,针对同一API接口不同场景下的接口入参进行动态校验,在兼容原有的校验框架的情本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种API接口入参动态校验方法,其特征在于,所述方法包括:定义API接口入参的目标校验规则,并将所述目标校验规则持久化至数据库中;从所述数据库中获取所述目标校验规则,将所述目标校验规则加载至数据校验框架中;响应于API接口入参,判断所述API接口入参是否需要动态校验,响应于所述API接口入参需要动态校验,则根据所述数据校验框架匹配出与所述API接口入参对应的目标校验实例,以执行数据校验。2.根据权利要求1所述的API接口入参动态校验方法,其特征在于,所述定义API接口入参的目标校验规则,并将所述目标校验规则持久化至数据库,包括:获取API接口入参的需求配置文件,并根据所述需求配置文件配置生成目标校验规则;通过sql语句或后台管理平台将所述API接口入参对应的目标校验规则持久化至数据库中。3.根据权利要求1所述的API接口入参动态校验方法,其特征在于,所述从所述数据库中获取所述目标校验规则,将所述目标校验规则加载至数据校验框架中,包括:从数据库中读取所述目标校验规则,根据所述目标校验规则调用其对应的扩展接口加载至数据校验框架中,并以所述目标校验规则中的API+场景号为key创建关联关系。4.根据权利要求3所述的API接口入参动态校验方法,其特征在于,所述响应于API接口入参,判断所述API接口入参是否需要动态校验,响应于所述API接口入参需要动态校验,则根据所述数据校验框架匹配出与所述API接口入参对应的目...

【专利技术属性】
技术研发人员:邹虎
申请(专利权)人:紫光云技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1