System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及计算机应用,尤其涉及一种请求参数构建方法、装置、电子设备及存储介质。
技术介绍
1、在软件工程开发过程中,应用程序界面(application program interface,api)接口的请求对应的参数类型大多都使用json格式,但随着接口的业务逻辑越来越复杂,json请求对象的层级和节点数量就会越来越多,往往一个json请求就会创建多个相互关联的json对象,相应的,每个json对象中又会插入大量不同属性,使得在构建json请求参数时,显的臃肿,不利于进行维护。
2、现有技术中,在构建json请求参数时,可以根据api接口要求,从上到下创建json对象与叶子节点写入值,进一步的,根据json请求参数的内外层关系,建立json对象之间的父子关系,进而通过父子关系逐级创建json对象的方式来构建json请求参数。
3、但是,上述构建json请求参数的方式,必须由内到外建立json对象之间的父子关系,即必须先建立内层json对象间的父子关系,才可以建立外层json对象间的父子关系,这样,随着json请求对象的层级和节点数量的增加,节点与节点间的父子关系可能会越来越混乱,使得构建层级关系时容易出错,维护成本提高。
技术实现思路
1、本申请提供一种请求参数构建方法、装置、电子设备及存储介质,用于解决在构建json请求参数时,必须由内到外建立json对象之间的父子关系,导致节点与节点间的父子关系越来越混乱,使得构建层级关系时容易出错,维护成本提高的问题
2、第一方面,本申请提供一种请求参数构建方法,所述方法包括:
3、接收请求参数构建要求,并基于所述请求参数构建要求创建链表;所述链表用于存储至少一个节点对象对应的属性;所述属性包括第一属性、第二属性和第三属性;所述第一属性为节点对象对应的关键字;所述第二属性为节点对象对应的值;所述第三属性为节点对象对应的父节点关键字;
4、按照顺序遍历所述链表,并基于所述链表中每个节点对象对应的第二属性判断所述节点对象是否为叶子节点;
5、若否,则基于所述节点对象对应的第一属性和第三属性创建第一目标节点对象,并基于所述第一目标节点对象建立父子节点关系,通过所述父子节点关系构建请求参数;
6、若是,则基于所述节点对象对应的第三属性创建第二目标节点对象,并基于所述第二目标节点对象建立父子节点关系,通过所述父子节点关系构建请求参数。
7、可选的,基于所述请求参数构建要求创建链表,包括:
8、基于所述请求参数构建要求自上而下创建节点对象,并基于所述节点对象对应的属性判断创建的节点对象是否满足预设要求;
9、若是,将满足预设要求的节点对象存放入链表中。
10、可选的,基于所述节点对象对应的属性判断创建的节点对象是否满足预设要求,包括:
11、基于所述节点对象对应的第三属性判断所述节点对象所在节点层级;
12、基于所述节点对象所在节点层级确定所述节点对象对应的第一属性是否满足预设要求。
13、可选的,基于所述节点对象对应的第一属性和第三属性创建第一目标节点对象,包括:
14、创建第一目标节点对象对应的返回结果库,并判断所述返回结果库中是否存在节点对象对应的第一属性;所述返回结果库由多个节点对象构成;
15、若是,则判断所述返回结果库中是否存在节点对象对应的第三属性,得到判断结果,并基于所述判断结果创建第一目标节点对象;
16、若否,则调用相应节点对象对应的第一属性进行创建,得到第一创建结果,将所述第一创建结果存入返回结果库,并基于所述第一创建结果和所述节点对象对应的第三属性创建第一目标节点对象。
17、可选的,基于所述第一创建结果和所述节点对象对应的第三属性创建第一目标节点对象,包括:
18、判断所述返回结果库中是否存在节点对象对应的第三属性;
19、若是,则基于所述第一创建结果和所述节点对象对应的第三属性对节点对象进行关联,得到第一目标节点对象;
20、若否,则调用相应节点对象对应的第三属性进行创建,得到第二创建结果,将所述第二创建结果存入返回结果库,并基于所述第一创建结果和所述第二创建结果对节点对象进行关联,得到第一目标节点对象。
21、可选的,通过所述父子节点关系构建请求参数,包括:
22、移除返回结果库中不存在所述父子节点关系的第一目标节点对象,得到处理结果,并基于所述处理结果构建请求参数。
23、可选的,所述方法还包括:
24、接收对所述请求参数的测试请求,基于所述测试请求调用参数数据,并基于所述参数数据进行测试,得到测试结果;
25、当确定所述测试结果存在异常时,查找所述请求参数中的异常问题,并基于所述异常问题生成提示信息。
26、第二方面,本申请还提供一种请求参数构建装置,所述装置包括:
27、接收模块,用于接收请求参数构建要求,并基于所述请求参数构建要求创建链表;所述链表用于存储至少一个节点对象对应的属性;所述属性包括第一属性、第二属性和第三属性;所述第一属性为节点对象对应的关键字;所述第二属性为节点对象对应的值;所述第三属性为节点对象对应的父节点关键字;
28、判断模块,用于按照顺序遍历所述链表,并基于所述链表中每个节点对象对应的第二属性判断所述节点对象是否为叶子节点;
29、第一构建模块,用于当所述节点对象是非叶子节点时,基于所述节点对象对应的第一属性和第三属性创建第一目标节点对象,并基于所述第一目标节点对象建立父子节点关系,通过所述父子节点关系构建请求参数;
30、第二构建模块,用于当所述节点对象是叶子节点时,基于所述节点对象对应的第三属性创建第二目标节点对象,并基于所述第二目标节点对象建立父子节点关系,通过所述父子节点关系构建请求参数。
31、第三方面,本申请还提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
32、所述存储器存储计算机执行指令;
33、所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面中任一项所述的方法。
34、第四方面,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面中任一项所述的方法。
35、综上所述,本申请提供一种请求参数构建方法、装置、电子设备及存储介质,可以通过接收请求参数构建要求,并基于请求参数构建要求创建链表;链表存储有至少一个节点对象对应的第一属性、第二属性和第三属性;进一步的,按照顺序遍历所述链表,并基于链表中每个节点对象对应的第二属性判断节点对象是否为叶子节点;若确定为非叶子节点时,基于节点对象对应的第一属性和第三属性创建第一目标节点对象,并基于第一目标节点对象建立父子节点关系,通过父本文档来自技高网...
【技术保护点】
1.一种请求参数构建方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,基于所述请求参数构建要求创建链表,包括:
3.根据权利要求2所述的方法,其特征在于,基于所述节点对象对应的属性判断创建的节点对象是否满足预设要求,包括:
4.根据权利要求1所述的方法,其特征在于,基于所述节点对象对应的第一属性和第三属性创建第一目标节点对象,包括:
5.根据权利要求4所述的方法,其特征在于,基于所述第一创建结果和所述节点对象对应的第三属性创建第一目标节点对象,包括:
6.根据权利要求5所述的方法,其特征在于,通过所述父子节点关系构建请求参数,包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
8.一种请求参数构建装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机执行指令,所述计算机执行指令被处理器执行
...【技术特征摘要】
1.一种请求参数构建方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,基于所述请求参数构建要求创建链表,包括:
3.根据权利要求2所述的方法,其特征在于,基于所述节点对象对应的属性判断创建的节点对象是否满足预设要求,包括:
4.根据权利要求1所述的方法,其特征在于,基于所述节点对象对应的第一属性和第三属性创建第一目标节点对象,包括:
5.根据权利要求4所述的方法,其特征在于,基于所述第一创建结果和所述节点对象对应的第三属性创建第一目标节点对象...
【专利技术属性】
技术研发人员:彭驰,张琼,周远阳,欧阳志群,庄镇灵,衣佳忠,夏万辉,陈宇光,汪金,曾旻,闫循志,王泽忠,汪建飞,杜孟杰,国琦,王佳成,孙琦夫,陈群德,肖炜坚,蔡方义,陈捷毅,郑佳鹏,肖骏,余杰,
申请(专利权)人:中国联合网络通信集团有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。