校验请求体的方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:26072420 阅读:27 留言:0更新日期:2020-10-28 16:46
本申请涉及接口校验的技术领域,提供了一种校验请求体的方法、装置、计算机设备和存储介质,包括:接收http请求,并对所述http请求进行解析,以获取所述http请求中请求体的请求JSON;根据所述请求JSON,在数据库中查找对应的校验JSON;将所述请求JSON以及所述校验JSON分别转换成map对象,得到请求map对象以及校验map对象;其中,所述请求map对象以及校验map对象均包括多级;遍历所述请求map对象,并针对所述请求map对象中每一级的目标参数,分别在所述校验map对象中查找与所述目标参数位于同一级的校验属性,根据所述校验属性对所述请求map对象中的目标参数进行校验。本申请校验请求体时,采用map对象的形式进行校验,可以并发进行校验,校验速度快,提高效益效率。

【技术实现步骤摘要】
校验请求体的方法、装置、计算机设备和存储介质
本申请涉及接口校验的
,特别涉及一种校验请求体的方法、装置、计算机设备和存储介质。
技术介绍
用户通过客户端向服务器发送http请求时,服务器接收到所述http请求后需要对http请求的请求体进行校验。服务器对请求体进行校验是指判断用户输入的请求体的值是否符合要求,如正则表达式校验,普通长度校验,格式设置校验,枚举类型校验等。目前,市面上的产品在请求体的校验中,使用的是spring的valid注解方式,该方式只能校验请求体长度是否为空,不支持的校验功能较多;例如,该注解的方式,不支持动态配置,不支持限定范围,当对象里面包含对象时,注解的方式需要多次点击展开才可看到所有字段的校验,这样当大量请求时,会占据大量时间,校验效率低。
技术实现思路
本申请的主要目的为提供一种校验请求体的方法、装置、计算机设备和存储介质,旨在克服目前采用注解方式对请求体校验时校验效率低的缺陷。为实现上述目的,本申请提供了一种校验请求体的方法,包括以下步骤:接收http请求,并对所述http请求进行解析,以获取所述http请求中请求体的请求JSON;根据所述请求JSON,在数据库中查找对应的校验JSON;将所述请求JSON以及所述校验JSON分别转换成map对象,得到请求map对象以及校验map对象;其中,所述请求map对象以及校验map对象均包括多级;遍历所述请求map对象,并针对所述请求map对象中每一级的目标参数,分别在所述校验map对象中查找与所述目标参数位于同一级的校验属性,根据所述校验属性对所述请求map对象中的目标参数进行校验。进一步地,所述接收http请求,并对所述http请求进行解析,以获取所述http请求中请求体的请求JSON的步骤,包括:接收用户在客户端触发的http请求,并解析出所述http请求中包括的请求行、请求头以及请求体;其中,所述请求头以及所述请求体预先经过所述客户端的加密处理;获取所述请求行中的请求方法字段以及URL字段,并基于所述请求方法字段以及URL字段按照预设加密算法生成第一密码;通过所述第一密码解密所述请求头,并提取出所述请求头中指定的特征信息以及关联的第二密码;将所述第二密码与所述指定的特征信息进行组合,得到解密密码;通过所述解密密码解密所述请求体,以获取所述请求体中的请求JSON。进一步地,所述基于所述请求方法字段以及URL字段按照预设加密算法生成第一密码的步骤,包括:对所述URL字段进行第一哈希计算得到对应的第一哈希值;将所述请求方法字段与所述第一哈希值进行组合,生成所述第一密码。进一步地,所述基于所述请求方法字段以及URL字段按照预设加密算法生成第一密码的步骤,包括:计算所述请求方法字段以及所述URL字段中包括的总字符数;根据数据库中预存的总字符数与加密算法的映射关系,选择出对应的预设加密算法;基于选择出的预设加密算法对所述请求方法字段以及URL字段进行加密处理,生成所述第一密码。进一步地,所述提取出所述请求头中指定的特征信息以及关联的第二密码的步骤,包括:提取出所述请求头中存储的特征信息,并选择出指定的特征信息;所述指定的特征信息包括第一特征信息以及第二特征信息;分别对所述第一特征信息以及第二特征信息进行哈希计算,得到第一哈希值以及第二哈希值;将所述第一特征信息与所述第二哈希值进行拼接组合,得到第一组合;将所述第二特征信息与所述第一哈希值进行拼接组合,得到第二组合;将所述第一组合与第二组合进行拼接,并进行哈希计算得到所述第二密码。进一步地,所述遍历所述请求map对象,并针对所述请求map对象中每一级的目标参数,分别在所述校验map对象中查找与所述目标参数位于同一级的校验属性,根据所述校验属性对所述请求map对象中的目标参数进行校验的步骤,包括:将所述请求map对象以及校验map对象中的同一级建立关联关系;遍历所述请求map对象,以获取所述请求map对象每一级中目标参数;其中,所述目标参数包括请求JSON数据;遍历所述校验map对象,以获取所述校验map对象每一级中的校验属性;其中,所述校验属性包括校验JSON数据;计算所述请求map对象每一级中的请求JSON数据的请求键值,以及计算所述校验map对象每一级中的校验JSON数据的校验键值;判断所述请求map对象中与所述校验map对象中具有关联关系的同一级所对应的所述请求键值与校验键值是否相同;若每一级对应的所述请求键值与校验键值均相同,则验证所述请求体为合法;若任一级对应的所述请求键值与校验键值不同,则验证所述请求体为不合法。本申请中还提供了一种校验请求体的装置,包括:接收单元,用于接收http请求,并对所述http请求进行解析,以获取所述http请求中请求体的请求JSON;查找单元,用于根据所述请求JSON,在数据库中查找对应的校验JSON;转换单元,用于将所述请求JSON以及所述校验JSON分别转换成map对象,得到请求map对象以及校验map对象;其中,所述请求map对象以及校验map对象均包括多级;验证单元,用于遍历所述请求map对象,并针对所述请求map对象中每一级的目标参数,分别在所述校验map对象中查找与所述目标参数位于同一级的校验属性,根据所述校验属性对所述请求map对象中的目标参数进行校验。进一步地,所述接收单元,包括:解析子单元,用于接收用户在客户端触发的http请求,并解析出所述http请求中包括的请求行、请求头以及请求体;其中,所述请求头以及所述请求体预先经过所述客户端的加密处理;生成子单元,用于获取所述请求行中的请求方法字段以及URL字段,并基于所述请求方法字段以及URL字段按照预设加密算法生成第一密码;提取子单元,用于通过所述第一密码解密所述请求头,并提取出所述请求头中指定的特征信息以及关联的第二密码;组合子单元,用于将所述第二密码与所述指定的特征信息进行组合,得到解密密码;解密子单元,用于通过所述解密密码解密所述请求体,以获取所述请求体中的请求JSON。进一步地,所述生成子单元,具体用于:对所述URL字段进行第一哈希计算得到对应的第一哈希值;将所述请求方法字段与所述第一哈希值进行组合,生成所述第一密码。进一步地,所述生成子单元,具体用于:计算所述请求方法字段以及所述URL字段中包括的总字符数;根据数据库中预存的总字符数与加密算法的映射关系,选择出对应的预设加密算法;基于选择出的预设加密算法对所述请求方法字段以及URL字段进行加密处理,生成所述第一密码。进一步地,所述提取子单元,具体用于:提取出所述请求头中存储的特征信息,并选择出指定的特征信息;所述指定的特征信息包括第一特本文档来自技高网...

【技术保护点】
1.一种校验请求体的方法,其特征在于,包括以下步骤:/n接收http请求,并对所述http请求进行解析,以获取所述http请求中请求体的请求JSON;/n根据所述请求JSON,在数据库中查找对应的校验JSON;/n将所述请求JSON以及所述校验JSON分别转换成map对象,得到请求map对象以及校验map对象;其中,所述请求map对象以及校验map对象均包括多级;/n遍历所述请求map对象,并针对所述请求map对象中每一级的目标参数,分别在所述校验map对象中查找与所述目标参数位于同一级的校验属性,根据所述校验属性对所述请求map对象中的目标参数进行校验。/n

【技术特征摘要】
1.一种校验请求体的方法,其特征在于,包括以下步骤:
接收http请求,并对所述http请求进行解析,以获取所述http请求中请求体的请求JSON;
根据所述请求JSON,在数据库中查找对应的校验JSON;
将所述请求JSON以及所述校验JSON分别转换成map对象,得到请求map对象以及校验map对象;其中,所述请求map对象以及校验map对象均包括多级;
遍历所述请求map对象,并针对所述请求map对象中每一级的目标参数,分别在所述校验map对象中查找与所述目标参数位于同一级的校验属性,根据所述校验属性对所述请求map对象中的目标参数进行校验。


2.根据权利要求1所述的校验请求体的方法,其特征在于,所述接收http请求,并对所述http请求进行解析,以获取所述http请求中请求体的请求JSON的步骤,包括:
接收用户在客户端触发的http请求,并解析出所述http请求中包括的请求行、请求头以及请求体;其中,所述请求头以及所述请求体预先经过所述客户端的加密处理;
获取所述请求行中的请求方法字段以及URL字段,并基于所述请求方法字段以及URL字段按照预设加密算法生成第一密码;
通过所述第一密码解密所述请求头,并提取出所述请求头中指定的特征信息以及关联的第二密码;
将所述第二密码与所述指定的特征信息进行组合,得到解密密码;
通过所述解密密码解密所述请求体,以获取所述请求体中的请求JSON。


3.根据权利要求2所述的校验请求体的方法,其特征在于,所述基于所述请求方法字段以及URL字段按照预设加密算法生成第一密码的步骤,包括:
对所述URL字段进行第一哈希计算得到对应的第一哈希值;
将所述请求方法字段与所述第一哈希值进行组合,生成所述第一密码。


4.根据权利要求2所述的校验请求体的方法,其特征在于,所述基于所述请求方法字段以及URL字段按照预设加密算法生成第一密码的步骤,包括:
计算所述请求方法字段以及所述URL字段中包括的总字符数;
根据数据库中预存的总字符数与加密算法的映射关系,选择出对应的预设加密算法;
基于选择出的预设加密算法对所述请求方法字段以及URL字段进行加密处理,生成所述第一密码。


5.根据权利要求2所述的校验请求体的方法,其特征在于,所述提取出所述请求头中指定的特征信息以及关联的第二密码的步骤,包括:
提取出所述请求头中存储的特征信息,并选择出指定的特征信息;所述指定的特征信息包括第一特征信息以及第二特征信息;
分别对所述第一特征信息以及第二特征信息进行哈希计算,得到第一哈希值以及第二哈希值;
将所述第一特征信息与所述第二哈希值进行拼接组合,得到第一组合;
将所述第二特征信息与所述第一哈希值进行拼接组合,得到第二组合;
将所述第一组合与第二组合进行拼接,并进行哈希计算得到所述第二密码。


6.根据权利要求1所述的校验请求体...

【专利技术属性】
技术研发人员:李文区
申请(专利权)人:中国平安财产保险股份有限公司
类型:发明
国别省市:广东;44

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

1