System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据校验,更具体地说,涉及一种接口数据校验方法、装置、设备及存储介质。
技术介绍
1、在现在的项目实施过程中,一般采用多家企业联合开发的形式,不同企业会基于接口约定进行开发工作;但是随着时间的推移,第三方公司提供的接口往往会发生变化,作为运行中的项目不能感知到接口变化,此时可能会造成几个后果:
2、1、接口报错;
3、2、接口没有报错,但是项目无法正常工作,业务系统报错;
4、3、接口没有报错,项目也能暂时工作,但是有脏数据的写入,对系统造成重大的安全隐患,此隐患可能在将来爆出。
5、因此,如果在项目运行中及时感知接口变化,进而保证项目的正常运行,是本领域技术人员亟待解决的问题。
技术实现思路
1、本专利技术的目的是提供一种接口数据校验方法、装置、设备及存储介质,能够有效达到在项目运行中及时感知接口变化,保证项目正常运行的目的。
2、为了实现上述目的,本专利技术提供如下技术方案:
3、一种接口数据校验方法,包括:
4、确定当前需要调用的接口为目标接口,并调用所述目标接口获取相应的目标数据;
5、利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验;其中,所述json-schema类型描述文件与所述接口一一对应,且预先由对应接口的typescript类型描述文件转换所得,所述typescript类型描述文件包含对调用相应接口所得的数据应具
6、如果校验成功,则继续运行当前逻辑,否则,终止当前逻辑并提示错误。
7、优选的,利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验,包括:
8、如果所述目标数据为对象,则利用与所述目标接口对应的json-schema类型描述文件,对所述目标数据进行数据结构的递归检查;
9、如果所述目标数据为非对象,则遍历所述目标数据并依次抽取其中的字段,基于与所述目标接口对应的json-schema类型描述文件中同样字段的描述对抽取的各字段的数据结构进行验证。
10、优选的,确定当前需调用的接口为目标接口之前,还包括:
11、基于typescript类型语法编写与各接口分别对应的typescript类型描述文件;其中,所述typescript类型描述文件中对数据结构的描述包括基本类型数据结构描述、和/或函数组的数据结构描述、和/或带可选属性的对象数据结构描述。
12、优选的,typescript类型描述文件中对数据结构的描述包括相应数据字段的字段类型、字段值的可选范围、字段是否必须。
13、优选的,所述利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验之前,还包括:
14、判断当前时刻之前连续对调用所述目标接口所得数据进行数据结构校验的次数是否达到预设次数,如果是,则确定当前无需对所述目标数据进行数据结构的校验,否则,执行利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验的步骤。
15、优选的,所述利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验之前,还包括:
16、判断上次对调用所述目标接口所得数据进行数据校验的时间,与当前时刻之间的时间间隔是否达到预设时间间隔,如果是,则执行利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验的步骤,否则,确定当前无需对所述目标数据进行数据结构的校验。
17、优选的,在终止当前逻辑并提示错误之后,还包括:
18、将校验失败的原因进行展示;
19、响应外界操作,保持终止当前逻辑的状态,或者继续运行当前逻辑并记录校验失败相应信息。
20、一种接口数据校验装置,包括:
21、调用模块,用于:确定当前需要调用的接口为目标接口,并调用所述目标接口获取相应的目标数据;
22、校验模块,用于:利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验;其中,所述json-schema类型描述文件与所述接口一一对应,且预先由对应接口的typescript类型描述文件转换所得,所述typescript类型描述文件包含对调用相应接口所得的数据应具有的数据结构的描述;
23、响应模块,用于:如果校验成功,则继续运行当前逻辑,否则,终止当前逻辑并提示错误。
24、一种接口数据校验设备,所述设备包括存储器及处理器,所述存储器上存储的程序在被所述处理器运行时实现如上任一项所述接口数据校验方法的步骤。
25、一种计算机可读存储介质,所述计算机可读存储介质上存储的程序被处理器执行时实现如上任一项所述接口数据校验方法的步骤。
26、本专利技术提供了一种接口数据校验方法、装置、设备及存储介质,该方法包括:确定当前需要调用的接口为目标接口,并调用所述目标接口获取相应的目标数据;利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验,所述json-schema类型描述文件与所述接口一一对应,且预先由对应接口的typescript类型描述文件转换所得,所述typescript类型描述文件包含对调用相应接口所得的数据应具有的数据结构的描述;如果校验成功,则继续运行当前逻辑,否则,终止当前逻辑并提示错误。可见,本专利技术用typescript编写类型描述,用json-schema进行类型校验,从而整合了typescript编写简单及json-schema可在项目运行中工作的优点,实现对接口数据的校验,能够有效达到在项目运行中及时感知接口变化,保证项目正常运行的目的。
本文档来自技高网...【技术保护点】
1.一种接口数据校验方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验,包括:
3.根据权利要求2所述的方法,其特征在于,确定当前需调用的接口为目标接口之前,还包括:
4.根据权利要求3所述的方法,其特征在于,typescript类型描述文件中对数据结构的描述包括相应数据字段的字段类型、字段值的可选范围、字段是否必须。
5.根据权利要求4所述的方法,其特征在于,所述利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验之前,还包括:
6.根据权利要求4所述的方法,其特征在于,所述利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验之前,还包括:
7.根据权利要求5或6所述的方法,其特征在于,在终止当前逻辑并提示错误之后,还包括:
8.一种接口数据校验装置,其特征在于,包括:
9.一种接口数据校验设备,其特征
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储的程序被处理器执行时实现如权利要求1至7中任一项所述接口数据校验方法的步骤。
...【技术特征摘要】
1.一种接口数据校验方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验,包括:
3.根据权利要求2所述的方法,其特征在于,确定当前需调用的接口为目标接口之前,还包括:
4.根据权利要求3所述的方法,其特征在于,typescript类型描述文件中对数据结构的描述包括相应数据字段的字段类型、字段值的可选范围、字段是否必须。
5.根据权利要求4所述的方法,其特征在于,所述利用与所述目标接口对应的json-schema类型描述文件对所述目标数据进行数据结构的校验之前,还包括:
6...
【专利技术属性】
技术研发人员:郭大勇,晏一鸣,
申请(专利权)人:上海通办信息服务有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。