CN110297651A - 协议接口的常用变量的更新方法和装置 - Google Patents

协议接口的常用变量的更新方法和装置 Download PDF

Info

Publication number
CN110297651A
CN110297651A CN201910528731.6A CN201910528731A CN110297651A CN 110297651 A CN110297651 A CN 110297651A CN 201910528731 A CN201910528731 A CN 201910528731A CN 110297651 A CN110297651 A CN 110297651A
Authority
CN
China
Prior art keywords
interface
variable
common variable
common
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910528731.6A
Other languages
English (en)
Other versions
CN110297651B (zh
Inventor
林永发
周健兴
杨子国
龙土兴
冼忠致
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Huaduo Network Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201910528731.6A priority Critical patent/CN110297651B/zh
Publication of CN110297651A publication Critical patent/CN110297651A/zh
Application granted granted Critical
Publication of CN110297651B publication Critical patent/CN110297651B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请涉及协议接口的测试技术领域,本申请提供一种协议接口的常用变量的更新方法和装置,所述方法包括接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数;根据所述协议接口的业务类型确定所述接口参数对应的常用变量;将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较,判断变量是否一致;若不一致,将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量。本申请保证了所述接口文档的信息完整性和完善的效率。

Description

协议接口的常用变量的更新方法和装置
技术领域
本申请涉及协议接口的测试技术领域,具体而言,本申请涉及一种本申请涉及一种协议接口的常用变量的更新方法和装置。
背景技术
在软件开发的过程中,需要根据涉及到的接口代码编写对应的接口文档,在所述接口文档中包括上述接口的各自参数和属性等接口说明。但是,针对不同的项目代码,相同的属性名称会具有不同的含义。目前的接口文档是根据源代码编辑得到,但不能清晰体现对应项目之间的接口文档与其的差异性,使得对应接口文档所记载的信息不够完善。
发明内容
为克服以上技术问题,特别是针对目前的协议接口的常用变量的更新方法不能完全体现对应项目之间的差异性,而导致所述接口文档的数据不够完善的问题,特提出以下技术方案:
第一方面,本申请提供一种协议接口的常用变量的更新方法,包括以下步骤:
接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数;
根据所述协议接口的业务类型确定所述接口参数对应的常用变量;
将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较,判断变量是否一致;
若不一致,将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量。
在其中一个实施例中,所述根据所述协议接口的业务类型确定所述接口参数对应的常用变量的步骤包括:
根据所述协议接口的业务类型,统计所述接口参数的每个变量的使用次数;
当所述使用次数达到对应的设定阈值时,确定所述变量为常用变量。
在其中一个实施例中,在所述将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较的步骤之前,还包括:
根据所述业务类型,得到对应的宏信息;
对应所述宏信息,利用所述常用变量的属性名称得到所述常用变量的属性信息。
在其中一个实施例中,所述将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较的步骤包括:
将所述常用变量形成对应的常用变量列表;其中,所述常用变量列表包括对应所述业务类型的所有的常用变量;
将所述常用变量的属性名称与所述原始变量的属性名称进行绝对等比较。
在其中一个实施例中,所述原始变量包括默认值和注释;
若所述原始变量与所述常用变量的属性名称绝对等相同;
将对应的所述原始变量与所述常用变量中的默认值和/或注释进行比较,判断默认值和/或注释的内容是否一致;
若不一致,将所述原始变量中的默认值和/或注释更新为所述常用变量中的默认值和/或注释。
在其中一个实施例中,所述将所述原始变量中的默认值和/或注释更新为所述常用变量中的默认值和/或注释的步骤,包括:
判断所述原始变量的注释和/或默认值在所述接口文档中对应的存储字段是否为空;
若是,根据所述属性名称,将所述常用变量的默认值和/或注释对应添加至所述原始变量列表的默认值和/或注释的存储字段;
否则,根据所述属性名称,将所述常用变量的默认值和/或注释对应更新至所述原始变量列表的默认值和/或注释的存储字段。
在其中一个实施例中,所述将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量的步骤包括:
对照所述常用变量列表的所述常用变量,得到所述原始变量与所述常用变量不对应的变量;
利用添加、删除和修改其中一种方式将对应的变量更新至所述原始变量中。
在其中一个实施例中,获取用户输入的协议接口对应的项目源代码,得到该项目源代码对应的业务类型作为协议接口的业务类型。
在其中一个实施例中,在所述接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数的步骤之前,还包括:
获取用户输入的协议接口对应的项目源代码,并将所述项目源代码形成源码树;
对所述源码树的各个节点进行分析得到协议接口;
对所述协议接口解析得到协议接口信息,并生成所述协议接口的接口文档。
在其中一个实施例中,所述对所述源码树的各个节点进行分析得到协议接口的步骤,包括:
对所述源码树的各个节点模块分析,获得所述项目源代码各个功能模块;
通过接口标签集判断得到所述功能模块的接口类,并根据所述接口标签集判断得到所述接口类中的方法集,并从所述方法集中获取所述协议接口。
第二方面,本申请提供一种协议接口的常用变量的更新装置,其包括:
接口参数获取模块,用于接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数;
常用变量确定模块,用于根据所述协议接口的业务类型确定所述接口参数对应的常用变量;
变量比较模块,用于将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较,判断变量是否一致;
常用变量更新模块,若不一致,用于将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量。
第三方面,本申请提供一种服务器,其包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于执行上述任意一项的协议接口的常用变量的更新方法。
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述任意一项的协议接口的常用变量的更新方法。
本申请所提供的一种协议接口的常用变量的更新方法和装置,根据协议接口的常用变量的更新请求,分别获取接口文档的接口参数,以及所述协议接口的业务类型确定接口参数对应的常用变量,将所述接口参数的原始变量与所述常用变量进行比较,若两者不同,将所述原始变量更新为所述常用变量。本申请所提供的方案根据所述协议接口的业务类型,确定对应的常用变量,并更新至所述接口文档中。该方案达到快速准确地针对各个业务类型对所述接口文档进行完善,从而保证了所述接口文档的信息完整性和完善的效率。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本申请实施例提供的协议接口的常用变量的更新方案的应用环境图;
图2是本申请一个实施例的协议接口的常用变量的更新方法的流程图;
图3是本申请又一个实施例的协议接口的常用变量的更新方法的流程图;
图4是本申请另一个实施例的协议接口的常用变量的更新方法的流程图;
图5是本申请另一个实施例的协议接口的常用变量的更新方法的流程图;
图6为本申请一个实施例的协议接口的常用变量的更新装置的结构示意图;
图7为本申请一个实施例的服务器的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
参考图1所示,图1是本申请实施例方案的应用环境图。该实施例中,如图1,本申请技术方案是服务器110通过internet网络与客户端120连接并进行数据交互。用户可以利用客户端120向服务器110发出相关的操作指令。服务器110根据指令对协议接口的数据进行处理,并通过客户端120将数据处理的过程中数据的变化向用户进行推送。
为了解决目前的接口文档不能清晰体现对应项目之间的接口文档的差异性,使得对应接口文档所记载的信息不够完善的问题,本申请提供了一种协议接口的常用变量的更新方法,请参考图2所示,图2是一个实施例的协议接口的常用变量的更新方法的流程图,该方法的流程包括以下步骤:
S210、接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数。
用户通过客户端向服务器发送针对特定的协议接口的常用变量的更新请求,服务器接收并根据该更新请求,从协议接口对应的接口文档中获取协议接口的接口参数。其中,接口参数可以包括该协议接口的入参数据和出参数据。
常用变量是入参数据和出参数据所属协议接口的业务类型的常用的变量。所述变量包括各个变量名称以及其类型、默认值和注释等其中一种或多种的参数信息。
业务类型可以是指该协议接口对应的项目源代码的业务类型。一般情况下,不同的业务类型对应不同的常用变量。
S220、根据所述协议接口的业务类型确定所述接口参数对应的常用变量。
根据步骤S210得到不同的业务类型对应不同的常用变量。所述协议接口的业务类型是通过获取用户输入的协议接口对应的项目源代码,而得到的该项目源代码所属的业务类型所确定的。根据上述业务类型,通过计算或统计得到该协议接口的接口参数的常用变量。
S230、将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较,判断变量是否一致。
根据上述步骤S210得到的关于协议接口的接口文档所记录的接口参数的变量为原始变量。相对地,根据步骤S220,通过协议接口的业务类型所确定的常用变量是统计和计算得到的。
将上述原始变量和常用变量的类型、内容等信息进行比较,从而判断两者的变量的信息是否一致。
S240、若不一致,将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量。
根据步骤S230所判断得到的关于原始变量与常用变量的信息若不一致,将由业务类型判断得到的常用变量更新至接口文档记录的接口参数的原始变量。
本申请所提供的一种协议接口的常用变量的更新方法,通过常用变量的更新请求所得到协议接口的接口参数的原始变量与协议接口的业务类型得到接口参数的常用变量进行对比,判断两者的变量的信息是否一致。若不一致,将原始变量更新为常用变量。该更新方法可以解决协议接口的接口文档因需要完善而重复获取并输入对应常用变量信息,影响接口文档完善的效率和质量的问题,保证了接口文档的信息完整性和完善效率。
对于步骤S220可以进一步包括以下步骤:
S221、根据所述协议接口的业务类型,统计所述接口参数的每个变量的使用次数;
S222、当所述使用次数达到对应的设定阈值时,确定所述变量为常用变量。
对于上述提到的常用变量,在本实施例中,通过步骤S221-S222对应协议接口的业务类型,统计所述协议接口的接口参数的每个变量在数据处理过程中的使用次数。同时,在服务器中,就该业务类型的协议接口的接口参数的各个变量在数据处理中预设相应的使用次数的阈值。当变量在每次数据处理中所使用次数达到其对应的预设阈值,则该变量设定为对应该协议接口的业务类型中的接口参数的常用变量。
通过上述的步骤S221-S222,对所述常用变量的设定是与其业务类型对应的,因此,可以保证在后续对所述接口文档中所记录的接口参数的原始变量的更新是对应该协议接口的业务类型,确保最终对接口文档完善的准确性。
在步骤S221-S222的基础上,本申请还提供一个实施例。在该实施例中,在步骤S230之前,还包括以下步骤:
S21、根据所述业务类型,得到对应的宏信息;
S22、对应所述宏信息,利用所述常用变量的属性名称得到所述常用变量的属性信息。
不同的业务类型,对应不同的宏信息。所述宏信息是对应各自的业务类型的接口参数的各个变量的属性信息进行解释。在步骤S21-S22,服务器根据业务类型,得到该业务类型对应的宏信息,即得到该业务类型中各个变量的属性信息的解释。利用步骤S221-S222,根据业务类型所确定得到的常用变量。并根据常用变量的属性名称与宏信息的变量的属性名称进行对照,得到对应该业务类型的常用变量的属性信息。
在此基础上,对于步骤S230中的所述将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较的步骤包括:
S231、将所述常用变量形成对应的常用变量列表;其中,所述常用变量列表包括对应所述业务类型的所有的常用变量;
S232、将所述常用变量的属性名称与所述原始变量的属性名称进行绝对等比较。
上述步骤S231-S232,原始变量与常用变量列表中的常用变量完全根据两者的属性名称的表达形式进行对照,即进行绝对等比较。这样,能够在常用变量中准确获取原始变量需要变更的对应项,为后续的原始变量的内容更新建立数据的准确性的基础。
在上述步骤S231-S232的基础上,上述步骤S240中的所述将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量的步骤包括:
S241、对照所述常用变量列表的所述常用变量,得到与所述常用变量不对应的原始变量;
S242、利用添加、删除和修改其中一种方式将对应的常用变量更新所述原始变量。
根据原始变量的属性名称,对所述常用变量列表中的所有常用变量进行遍历。根据遍历的结果,得到接口文档中所不对应的常用变量的属性名称列表。将该属性名称列表与常用变量列表进行对比,得到接口文档中的接口参数缺少、多余或是存在不同的变量。
若将属性名称列表与常用变量列表进行对比,得到接口文档中的接口参数的原始变量中所不包含的常用变量,对该常用变量进行添加标注,并根据添加标注从常用变量列表中获取对应的常用变量及其属性信息,并添加至接口文档中。
若将属性名称列表与常用变量列表进行对比,得到接口文档中不被常用变量列表包含的原始变量,并对接口文档中不被常用变量列表包含的原始变量进行删除标注,并根据所述删除标注,将对应的原始变量及其属性信息从接口文档的接口参数中进行删除。
进一步地,将接口文档的原始变量中所不包含的常用变量,根据添加标注,从常用变量列表中获取对应的常用变量及其属性信息,并将其添加至接口文档中,即对接口文档中不被常用变量列表包含的原始变量修改更新为接口文档的原始变量中所不包含的常用变量。这样,可保证接口文档能准确地依据协议接口的业务类型所得到的常用变量进行变量的更新,使得更新后的接口文档能符合业务类型对常用变量的要求。
对于步骤S231-S232,将根据业务类型所得到的常用变量的属性名称与接口文档所记录的接口参数的原始变量的属性名称进行绝对等比较。所述绝对等比较为将所比较的对象进行绝对化的对比。在本实施例中,将常用变量的属性名称和原始变量的属性名称进行绝对化的比较。例如:当某原始变量的属性名称与某常用变量的属性名称绝对相同时,则针对该两项的属性名称的绝对等比较的结果相同。
所述默认值和注释是所述接口文档的各个变量的属性信息。在此前提下,步骤S230-S240包括以下步骤:
S1、若所述原始变量与所述常用变量的属性名称绝对等相同;
S2、将对应的所述原始变量与所述常用变量中的默认值和/或注释进行比较,判断默认值和/或注释的内容是否一致;
S3、若不一致,将所述原始变量中的默认值和/或注释更新为所述常用变量中的默认值和/或注释。
在上述步骤S1-S3中,原始变量与常用变量的属性名称绝对等相同时,将原始变量和常用变量中各自的默认值和注释的内容进行比较。如果不一致的,将该常用变量中的默认值和/或注释对对应的原始变量中的默认值和/或注释的内容进行更新。
对于上述步骤S3,还可包括以下步骤:
S31、判断所述原始变量的注释和/或默认值在所述接口文档中对应的存储字段是否为空;
S32、若是,根据所述属性名称,将所述常用变量的默认值和/或注释对应添加至所述原始变量列表的默认值和/或注释的存储字段;
S33、否则,将所述常用变量的默认值和/或注释对应更新至所述原始变量列表的默认值和/或注释的存储字段。
对于步骤S3的不一致的情况,还存在其中两种情况:所述接口文档的接口参数中的原始变量的默认值和/或注释为空,即对应的属性名称的原始变量的默认值和/或注释的项没有包括对应的属性信息。即在接口文档中,原始变量的默认值和/或注释的存储字段为空。如果对应的存储字段为空,将常用变量的默认值和/或注释根据属性名称,对应添加至原始变量列表的默认值和/或注释的存储字段。如果对应的存储字段不为空,将常用变量的默认值和/或注释根据属性名称,对应更新至原始变量列表的默认值和/或注释的存储字段。
利用属性名称对照该常用变量与该原始变量,将该原始变量的默认值和/或注释的内容更新为该常用变量的默认值和/或注释的内容。
这样,使得接口文档的内容能得到全方面的更新,保证更新后得到的接口文档能更加准确对应业务类型所需要的数据内容,达到更高的数据完善程度。
参考图4,图4为又一个实施例的协议接口的常用变量的更新方法的流程图。根据上述对协议接口的常用变量的更新方法的描述,以下以一具体的实施例进行陈述,以便进一步清楚说明该协议接口的常用变量的更新方法的实现过程:
S401、接收协议接口的常用变量的更新请求;
S402、根据所述更新请求从接口文档中获取所述协议接口的接口参数;
S403、根据所述协议接口得到对应的业务类型;
S404、根据所述业务类型,统计所述接口参数的每个变量的使用次数;
S405、当所述使用次数达到对应的设定阈值时,确定所述变量为常用变量;
S405、根据所述业务类型,得到对应的宏信息;
S407、对应所述宏信息,利用所述常用变量的属性名称得到所述常用变量的属性信息;
S408、将所述常用变量形成对应的常用变量列表;
S409、将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较,判断变量是否一致;若否,转步骤S410;若是,转步骤S412;
S410、对照所述常用变量列表的所述常用变量,得到所述原始变量与所述常用变量不对应的变量;
S411、添加、删除和修改其中一种方式将对应的变量更新至所述原始变量中;
S412、若所述原始变量与所述常用变量的属性名称绝对等相同;
S413、将对应的所述原始变量与所述常用变量中的默认值和/或注释进行比较,判断默认值和/或注释的内容是否一致;若否,转步骤S414;若是,转步骤S418;
S414、判断所述原始变量的注释和/或默认值在所述接口文档中对应的存储字段是否为空;若是,转步骤S415;若否,转步骤S416;
S415、根据所述属性名称,将所述常用变量的默认值和/或注释对应添加至所述原始变量列表的默认值和/或注释的存储字段;
S416、根据所述属性名称,将所述常用变量的默认值和/或注释对应更新至所述原始变量列表的默认值和/或注释的存储字段;
S417、结束更新。
参考图5,图5是另一个实施例的协议接口的常用变量的更新方法的流程图。关于上述所提供的一种协议接口的常用变量的更新方法,在执行读取的接口文档之前,还包括可通过项目代码直接生成对应的接口文档,具体步骤如下:
S201、获取用户输入的协议接口对应的项目源代码,并将所述项目源代码形成源码树;
S202、对所述源码树的各个节点进行分析得到协议接口;
S203、对所述协议接口解析得到协议接口信息,并生成所述协议接口的接口文档。
对于上述的步骤S201-S203,首先,先获取对应协议接口对应的项目源代码,对于该特定的项目源代码,给予一个全服唯一的标识名称,如:prolndex。
对获取的源代码可以通过javaparser解析器解析该项目源代码的结构,转换形成源码树。并且对源码树上的每个节点进行分析,得到对应的协议接口,对此,在本实施例中,可以具体包括以下步骤:
S1、对所述源码树的各个节点模块分析,获得所述项目源代码各个功能模块;
S2、通过接口标签集判断得到所述功能模块的接口类,并根据所述接口标签集判断得到所述接口类中的方法集,并从所述方法集中获取所述协议接口。
对于上述步骤S1-S2,对各个节点进行分析,即对各个源码树的各个功能模块进行解析,获取协议接口参数,利用接口参数生成协议接口对应的接口文档。
在获取协议接口参数的过程中,首先需要获取节点的协议接口标签,得到节点中的接口类。
所述协议接口标签用于区分不同协议接口及其类型的标签。协议接口标签可以按照协议接口的类型、参数等信息的不同进行自行定义。如HTTP接口用@Control或@RestController等协议接口标签来定义。用户可以预设在节点中需要生成接口文档的接口添加相应的接口标签,服务器响应接口文档生成请求时,获取节点包含的接口标签,以获得节点中该协议接口标签所对应的类的信息。
源码树中的每个节点中可包含有多种类,不同的类,其对应的接口标签不同。在实施例中,可以预先指定某一种或多种的接口标签所对应的类为接口类。根据获取到的接口标签,根据接口标签的类型判断节点中包含的类是否为接口类,从而确定出接口类。
在得到节点中的接口类后,根据接口标签集对接口类进行解析并判断得到该接口类中的各个方法集,得到所述方法集中的协议接口。在该实施例中,获取该方法对应的协议接口标签,如JavaDoc标签和Tagee标签来判断,通过分析所述协议接口标签,判断该方法是否为接口。
如方法A对应的接口标签为JavaDoc标签,JavaDoc标签对应的是接口,则可以判定方法A1为接口,若方法B1对应的接口标签为Tagee标签,Tagee标签对应的是非接口,则可以判定方法B1为非接口。
在确定该方法为接口时,并经过解析后得到接口所对应的接口协议和接口参数。如方法别名、方法名、描述、统一资源标识符、接口参数、接口协议等,其中,接口参数包括入参数据和出参数据。在实施例中,还可以通过协议自有特征,如特定的标识来进一步判断接口协议的类型,如HTTP接口所对应的协议有@RequestMapping标识,Thrift接口所对应的协议有org.apache.thrift.TBase标识等,其他协议接口可根据应用场景插拔式添加。
进一步地,根据协议接口的属性信息,判定所述接口参数的数据类型是否为基本数据类型,若是,则直接对应的协议接口参数得到该协议接口的第一数据信息,该第一数据信息包括该协议接口协议的名称、别名、数据类型、注释以及默认值中的至少一种。此时,利用该第一数据信息生成接口文档。
当接口参数为非基本数据类型时,获取接口参数的封装类型,解析其封装类型。若所述接口参数为闭环封装类型,解析出属性列表,遍历递归解析属性列表中的各属性信息,确定数据类型为基本数据类型的属性信息。该属性信息的数据类型包括基本数据类型、结构类型和集合类型等。从各属性信息中确定数据类型为基本数据类型的属性信息,进一步解析出变量的名称、类型、注释、默认值等信息。将数据类型、注释、默认值等信息生成所述接口文档。
在本实施例中,在生成接口数据时,可以通过以“项目-功能模块-接口-接口参数”关系进行层层递进的由顶层到底层的结构化处理,然后生成结构化的接口数据。
具体地,对各功能模块添加功能模块标识,将功能模块标识作为该功能模块的唯一标识,如:moduleName。
各功能模块有各自的分支,并为各分支添加分支标识:branchName,通过分支标识可以快速查找到项目源代码开发的不同开发阶段的版本。同时生成各个功能模块中的各个接口的统一资源标识符,URI是用于唯一地标识元素或属性的数字或名称,URI包含的信息指出该功能接口所在的位置和命名信息。
在本实施例中,所述接口标识可以将所述协议接口所对应的项目标识、功能模块标识、分支标识以及统一资源标识符进行关联,根据对应的关联公式:interfaceKey=MD5(proIndex+“_”+moduleName+“_”+brancheName+“_”+uri)。该关联公式采用MD5信息摘要算法生成MD5摘要作为接口文档的唯一接口标识。其中,MD5信息摘要算法生成MD5摘要可以通过现有技术来实现,在此不做详细描述。
以上述方式形成协议接口的接口文档可以直接通过源代码形成,并对协议接口进行对应的测试,使得本申请所提供的对协议接口的常用变量的更新方法能更及时地根据业务场景的变化和源代码的变更,对应获取协议接口的常用变量,进一步提高对协议接口的常用变量生成的灵活性,从而达到更准确、快速完善接口文档。
基于与上述协议接口的常用变量的更新方法相同的发明构思,本申请实施例还提供了一种协议接口的常用变量的更新装置,如图6所示,包括:
接口参数获取模块610,用于接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数;
常用变量确定模块620,用于根据所述协议接口的业务类型确定所述接口参数对应的常用变量;
变量比较模块630,用于将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较,判断变量是否一致;
常用变量更新模块640,若不一致,用于将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量。
关于上述实施例中的协议接口的常用变量的更新装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
请参考图7,图7为一个实施例中服务器的内部结构示意图。如图7所示,该服务器包括通过系统总线连接的处理器710、存储介质720、存储器730和网络接口740。其中,该服务器的存储介质720存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器710执行时,可使得处理器710实现一种协议接口的测试方法,处理器710能实现图6所示实施例中的一种协议接口的常用变量的更新装置中的接口参数获取模块610、常用变量确定模块620、变量比较模块630、常用变量更新模块640的功能。该服务器的处理器710用于提供计算和控制能力,支撑整个服务器的运行。该服务器的存储器730中可存储有计算机可读指令,该计算机可读指令被处理器710执行时,可使得处理器710执行一种协议接口的测试方法。该服务器的网络接口740用于与终端连接通信。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的服务器的限定,具体的服务器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请还提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行以下步骤:接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数;根据所述协议接口的业务类型确定所述接口参数对应的常用变量;将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较,判断变量是否一致;若不一致,将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量。
综合上述实施例可知,本申请最大的有益效果在于:
本申请所提供的一种协议接口的常用变量的更新方法和装置,根据协议接口的常用变量的更新请求,分别获取接口文档的接口参数,以及所述协议接口的业务类型确定接口参数对应的常用变量,将所述接口参数的原始变量与所述常用变量进行比较,若两者不同,将原始变量更新为常用变量。本申请所提供的方案根据协议接口的业务类型,确定对应的常用变量,并更新至接口文档中。该方案达到快速准确地针对各个业务类型对接口文档进行完善,从而保证了接口文档的信息完整性和完善的效率。
本申请在上述基础上提供了一优化方案,通过对常用变量和原始变量的属性名称进行绝对等比较,能够在常用变量中准确获取原始变量需要变更的对应项,为后续的原始变量的内容更新建立数据的准确性的基础。
本申请在上述基础上提供了一优化方案,在符合上述在常用变量中准确获取原始变量需要变更的对应项的基础上,对照常用变量列表的常用变量,能够得到原始变量与常用变量不对应的变量,能够以增、删或改其中一种方式将对应的变量更新至原始变量中。这样,可保证接口文档能准确地依据协议接口的业务类型所得到的常用变量进行变量的更新,使得更新后的接口文档能符合业务类型对常用变量的要求。
本申请在上述基础上提供了一优化方案,在符合上述在所述常用变量中准确获取原始变量需要变更的对应项的基础上,对与常用变量的属性名称绝对等相同的原始变量进行默认值和/或注释比较,及根据比较的结果进行对应内容的更新。这样,使得接口文档的内容能得到全方面的更新,保证更新后得到的接口文档能更加准确对应业务类型所需要的数据内容,达到更高的数据完善程度。
本申请在上述基础上提供了一优化方案,在上述对协议接口的常用变量的更新方法的前期准备过程,直接通过对源代码形成的源码树进行节点分析,得到对应的协议接口,并对上述协议接口进行解析后得到协议接口信息,生成对应的协议接口的接口文档。所述接口文档的生成方式,使本申请所提供的协议接口的常用变量的更新方法能更直接所述协议接口的业务类型和源代码的变更,对应得到接口文档的常用变量,进一步提高对协议接口的常用变量生成的灵活性,从而达到更准确、快速完善接口文档。
综上,本申请通过所述协议接口的常用变量的更新方法和装置,能够根据协议接口的业务类型,对接口文档进行常用变量的更新,避免因接口文档不能完全体现业务类型之间的差异性,而导致所述接口文档的数据不够完善的问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等存储介质,或随机存储记忆体(Random Access Memory,RAM)等。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (13)

1.一种协议接口的常用变量的更新方法,其特征在于,包括以下步骤:
接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数;
根据所述协议接口的业务类型确定所述接口参数对应的常用变量;
将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较,判断变量是否一致;
若不一致,将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量。
2.根据权利要求1所述的协议接口的常用变量的更新方法,其特征在于,所述根据所述协议接口的业务类型确定所述接口参数对应的常用变量的步骤包括:
根据所述协议接口的业务类型,统计所述接口参数的每个变量的使用次数;
当所述使用次数达到对应的设定阈值时,确定所述变量为常用变量。
3.根据权利要求2所述的协议接口的常用变量的更新方法,其特征在于,在所述将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较的步骤之前,还包括:
根据所述业务类型,得到对应的宏信息;
对应所述宏信息,利用所述常用变量的属性名称得到所述常用变量的属性信息。
4.根据权利要求3所述的协议接口的常用变量的更新方法,其特征在于,所述将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较的步骤包括:
将所述常用变量形成对应的常用变量列表;其中,所述常用变量列表包括对应所述业务类型的所有的常用变量;
将所述常用变量的属性名称与所述原始变量的属性名称进行绝对等比较。
5.根据权利要求4所述的协议接口的常用变量的更新方法,其特征在于,
所述原始变量包括默认值和注释;
若所述原始变量与所述常用变量的属性名称绝对等相同;
将对应的所述原始变量与所述常用变量中的默认值和/或注释进行比较,判断默认值和/或注释的内容是否一致;
若不一致,将所述原始变量中的默认值和/或注释更新为所述常用变量中的默认值和/或注释。
6.根据权利要求5所述的协议接口的常用变量的更新方法,其特征在于,
所述将所述原始变量中的默认值和/或注释更新为所述常用变量中的默认值和/或注释的步骤,包括:
判断所述原始变量的注释和/或默认值在所述接口文档中对应的存储字段是否为空;
若是,根据所述属性名称,将所述常用变量的默认值和/或注释对应添加至所述原始变量列表的默认值和/或注释的存储字段;
否则,根据所述属性名称,将所述常用变量的默认值和/或注释对应更新至所述原始变量列表的默认值和/或注释的存储字段。
7.根据权利要求4所述的协议接口的常用变量的更新方法,其特征在于,
所述将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量的步骤包括:
对照所述常用变量列表的所述常用变量,得到所述原始变量与所述常用变量不对应的变量;
利用添加、删除和修改其中一种方式将对应的变量更新至所述原始变量中。
8.根据权利要求1-7中任一项所述的协议接口的常用变量的更新方法,其特征在于,
获取用户输入的协议接口对应的项目源代码,得到该项目源代码对应的业务类型作为所述协议接口的业务类型。
9.根据权利要求1-7中任一项所述的协议接口的常用变量的更新方法,其特征在于,
在所述接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数的步骤之前,还包括:
获取用户输入的协议接口对应的项目源代码,并将所述项目源代码形成源码树;
对所述源码树的各个节点进行分析得到协议接口;
对所述协议接口解析得到协议接口信息,并生成所述协议接口的接口文档。
10.根据权利要求9所述的协议接口的常用变量的更新方法,其特征在于,所述对所述源码树的各个节点进行分析得到协议接口的步骤,包括:
对所述源码树的各个节点模块分析,获得所述项目源代码各个功能模块;
通过接口标签集判断得到所述功能模块的接口类,并根据所述接口标签集判断得到所述接口类中的方法集,并从所述方法集中获取所述协议接口。
11.一种协议接口的常用变量的更新装置,其特征在于:
接口参数获取模块,用于接收协议接口的常用变量的更新请求,根据所述更新请求从接口文档中获取所述协议接口的接口参数;
常用变量确定模块,用于根据所述协议接口的业务类型确定所述接口参数对应的常用变量;
变量比较模块,用于将所述常用变量与所述接口文档中记录的所述接口参数的原始变量进行比较,判断变量是否一致;
常用变量更新模块,若不一致,用于将所述接口文档记录的所述接口参数的原始变量更新为所述常用变量。
12.一种服务器,其特征在于,包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于执行根据权利要求1至10任一项所述的协议接口的常用变量的更新方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至10任一项所述的协议接口的常用变量的更新方法。
CN201910528731.6A 2019-06-18 2019-06-18 协议接口的常用变量的更新方法和装置 Active CN110297651B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910528731.6A CN110297651B (zh) 2019-06-18 2019-06-18 协议接口的常用变量的更新方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910528731.6A CN110297651B (zh) 2019-06-18 2019-06-18 协议接口的常用变量的更新方法和装置

Publications (2)

Publication Number Publication Date
CN110297651A true CN110297651A (zh) 2019-10-01
CN110297651B CN110297651B (zh) 2023-06-13

Family

ID=68028176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910528731.6A Active CN110297651B (zh) 2019-06-18 2019-06-18 协议接口的常用变量的更新方法和装置

Country Status (1)

Country Link
CN (1) CN110297651B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764731A (zh) * 2021-01-19 2021-05-07 上海擎昆信息科技有限公司 一种软件接口维护方法、系统、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017193750A1 (zh) * 2016-05-13 2017-11-16 阿里巴巴集团控股有限公司 一种防止拷贝攻击的处理方法、服务器及客户端
CN107678737A (zh) * 2017-10-12 2018-02-09 深圳怡化电脑股份有限公司 业务处理方法、装置及自助终端设备
CN108681872A (zh) * 2018-03-30 2018-10-19 平安科技(深圳)有限公司 变量信息更新方法、装置、计算机设备及存储介质
CN109582588A (zh) * 2018-12-25 2019-04-05 迈普通信技术股份有限公司 测试用例生成方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017193750A1 (zh) * 2016-05-13 2017-11-16 阿里巴巴集团控股有限公司 一种防止拷贝攻击的处理方法、服务器及客户端
CN107678737A (zh) * 2017-10-12 2018-02-09 深圳怡化电脑股份有限公司 业务处理方法、装置及自助终端设备
CN108681872A (zh) * 2018-03-30 2018-10-19 平安科技(深圳)有限公司 变量信息更新方法、装置、计算机设备及存储介质
CN109582588A (zh) * 2018-12-25 2019-04-05 迈普通信技术股份有限公司 测试用例生成方法、装置及电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
叶利涛: "基于OPC协议中央集成系统软件的研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764731A (zh) * 2021-01-19 2021-05-07 上海擎昆信息科技有限公司 一种软件接口维护方法、系统、计算机设备及存储介质

Also Published As

Publication number Publication date
CN110297651B (zh) 2023-06-13

Similar Documents

Publication Publication Date Title
CN107908541B (zh) 接口测试方法、装置、计算机设备及存储介质
CN107832217A (zh) 一种自动化测试方法及装置
CN110381101B (zh) Api网关控制系统、控制方法、设备和介质
CN110147327B (zh) 一种基于多粒度的web自动化测试管理方法
CN105550325A (zh) 一种数据管理方法和装置
CN113238740B (zh) 代码生成方法、代码生成装置、存储介质及电子设备
CN112711438A (zh) 依赖组件信息提取方法、设备及计算机可读存储介质
CN112395184A (zh) 一种信息获取方法、设备和计算机存储介质
CN110059003A (zh) 自动化测试方法、装置、电子设备及可读存储介质
CN110059002A (zh) 测试数据的生成方法、测试设备、存储介质及装置
CN112559348A (zh) 基于jacoco的测试分析方法、系统、设备以及介质
CN106776266A (zh) 测试工具的配置方法及终端设备
Barnaghi et al. Simpler iot word (s) of tomorrow, more interoperability challenges to cope today
CN111984882A (zh) 数据处理方法、系统及设备
CN111506305B (zh) 工具包生成方法、装置、计算机设备及可读存储介质
CN117472372A (zh) 一种响应式表单搭建方法及系统
CN110413518B (zh) 控件对象库的生成方法及生成装置和计算机可读存储介质
CN110175043A (zh) 协议接口代码版本更新通知的生成方法和装置
CN110297651A (zh) 协议接口的常用变量的更新方法和装置
US20130262451A1 (en) Analysis support apparatus, analysis support method and analysis support program
CN112905467A (zh) 一种测试用例执行管理方法、装置、设备及存储介质
CN113515436A (zh) 一种接口测试方法及装置
CN116755684B (zh) OAS Schema的生成方法、装置、设备及介质
CN115221338B (zh) 知识图谱构建方法及其系统、计算机设备
WO2023155487A1 (zh) 代码重构方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20191001

Assignee: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000031

Denomination of invention: Update method and device of common variables of protocol interface

License type: Common License

Record date: 20210125

EE01 Entry into force of recordation of patent licensing contract
GR01 Patent grant
GR01 Patent grant