CN111045756A - 生成接口服务的方法、装置、计算设备和介质 - Google Patents

生成接口服务的方法、装置、计算设备和介质 Download PDF

Info

Publication number
CN111045756A
CN111045756A CN201911265195.1A CN201911265195A CN111045756A CN 111045756 A CN111045756 A CN 111045756A CN 201911265195 A CN201911265195 A CN 201911265195A CN 111045756 A CN111045756 A CN 111045756A
Authority
CN
China
Prior art keywords
interface
target
parameter
message
information
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
CN201911265195.1A
Other languages
English (en)
Other versions
CN111045756B (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.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
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 Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN201911265195.1A priority Critical patent/CN111045756B/zh
Publication of CN111045756A publication Critical patent/CN111045756A/zh
Application granted granted Critical
Publication of CN111045756B publication Critical patent/CN111045756B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • G06F9/4486Formation of subprogram jump address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本公开提供了一种生成接口服务的方法。该方法包括获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例;从目标验证规则信息中确定与目标接口参数信息对应的接口参数验证规则;利用接口参数验证规则验证目标报文示例;以及根据目标报文示例的验证结果和目标接口地址,生成接口服务。本公开还提供了一种生成接口服务的装置、一种计算设备以及一种计算机可读存储介质。

Description

生成接口服务的方法、装置、计算设备和介质
技术领域
本公开涉及计算机技术领域,更具体地,涉及一种生成接口服务的方法、装置、计算设备和介质。
背景技术
随着IT技术的发展,计算机系统之间交互所使用的应用程序接口(以下简称接口)越来越多。以银行系统中的业务系统为例,从业务系统研发开始到正式上线之前,需要进行大量的联调测试工作。由于业务系统存在大量与其他系统调用的关系和模式,因此相对应地,业务系统中具有大量的接口以供其他系统调用,有时候同一个接口需要为成千上万个系统提供联调测试服务。在接口的调用方进行接口测试时,接口提供方需要根据不同的调用方,分别提供用于测试的接口环境及数据,然后配合调用方进行联调测试,其中存在大量重复性工作。
另外,为了实现一个接口的功能,需要后台多个系统之间的协调工作,任何一个系统出现问题,都会导致接口的不可用;任何一个系统的数据变化,也会导致调用方在接入接口的过程中出现问题。这增加了接口测试工作的难度。
发明内容
本公开的一个方面提供了一种生成接口服务的方法,包括:获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例;从目标验证规则信息中确定与目标接口参数信息对应的接口参数验证规则;利用接口参数验证规则验证目标报文示例;以及根据目标报文示例的验证结果和目标接口地址,生成接口服务。
可选地,上述获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例包括:获取接口文档,接口文档包括多个接口地址、多个接口参数信息、多个验证规则信息和多个报文示例;确定多个接口地址中在预定时段内发生变化的接口地址作为目标接口地址;以及分别从多个接口参数信息、多个验证规则信息和多个报文示例中确定与目标接口地址对应的目标接口参数信息、目标验证规则信息和目标报文示例。
可选地,上述目标报文示例包括多个接收报文和与所述多个接收报文对应的多个返回报文;上述利用所述接口参数验证规则验证所述目标报文示例包括:针对多个接收报文中的每个接收报文,通过解析接收报文,得到至少一个待验证参数;确定与至少一个待验证参数中每个待验证参数是否满足接口参数验证规则;以及若接收报文所对应的至少一个待验证参数中有至少一个待验证参数不满足接口参数验证规则,则从目标报文示例中删除接收报文以及与接收报文对应的返回报文。
可选地,上述根据目标报文示例的验证结果和目标接口地址,生成接口服务包括:根据目标接口地址,确定接口服务的地址;根据目标报文示例的验证结果,配置接口服务;以及部署接口服务。
可选地,上述方法还包括验证以下中的至少一个:接口文档的完整性;接口文档的规范性;以及接口文档的内容可用性。
本公开的另一个方面提供了一种生成接口服务的装置,包括:第一获取模块,用于获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例;第一确定模块,用于从目标验证规则信息中确定与目标接口参数信息对应的接口参数验证规则;第一验证模块,用于利用接口参数验证规则验证目标报文示例;以及生成模块,用于根据目标报文示例的验证结果和目标接口地址,生成接口服务。
可选地,上述第一获取模块包括:第二获取子模块,用于获取接口文档,接口文档包括多个接口地址、多个接口参数信息、多个验证规则信息和多个报文示例;第二确定子模块,用于确定多个接口地址中在预定时段内发生变化的接口地址作为目标接口地址;以及第三确定子模块,用于分别从多个接口参数信息、多个验证规则信息和多个报文示例中确定与目标接口地址对应的目标接口参数信息、目标验证规则信息和目标报文示例。
可选地,上述目标报文示例包括多个接收报文和与多个接收报文对应的多个返回报文;上述验证模块包括:解析子模块,用于针对多个接收报文中的每个接收报文,通过解析接收报文,得到至少一个待验证参数;第四确定子模块,用于确定与至少一个待验证参数中每个待验证参数是否满足接口参数验证规则;以及删除子模块,用于在接收报文所对应的至少一个待验证参数中有至少一个待验证参数不满足接口参数验证规则的情况下,从目标报文示例中删除接收报文以及与接收报文对应的返回报文。
可选地,上述生成模块包括:第五确定子模块,用于根据目标接口地址,确定接口服务的地址;配置子模块,用于根据目标报文示例的验证结果,配置接口服务;以及部署子模块,用于部署接口服务。
可选地,上述装置还包括第二验证模块,用于验证以下中的至少一个:接口文档的完整性;接口文档的规范性;以及接口文档的内容可用性。
本公开的另一个方面提供了一种计算设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,通过根据目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例,生成相应的接口服务,来模拟真正的接口的功能,从而替代真正的接口以供各调用方进行测试,从而减少了工作量。另外,该接口服务不需要后台多个系统之间协调工作,减少了来自多系统的影响因素,从而减小了接口测试工作的难度。
附图说明
为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本公开的实施例的生成接口服务的方法和装置的应用场景;
图2示意性示出了根据本公开的实施例的生成接口服务的方法的流程图;
图3示意性示出了根据本公开的实施例的获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例的流程图;
图4示意性示出了根据本公开的实施例的利用接口参数验证规则验证目标报文示例的流程图;
图5示意性示出了根据本公开的实施例的根据目标报文示例的验证结果和目标接口地址,生成接口服务的流程图;
图6示意性示出了根据本公开的实施例的生成接口服务的装置的框图;
图7示意性示出了根据本公开的实施例的第一获取模块的框图;
图8示意性示出了根据本公开的实施例的验证模块的框图;
图9示意性示出了根据本公开的实施例的生成模块的框图;
图10示意性示出了根据本公开另一实施例的生成接口服务的装置的框图;以及
图11示意性示出了根据本公开实施例的适于实现生成接口服务的方法的计算机系统的方框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。
本公开的实施例提供了一种生成接口服务的方法以及能够应用该方法的生成接口服务的装置。该方法包括获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例;从目标验证规则信息中确定与目标接口参数信息对应的接口参数验证规则;利用接口参数验证规则验证目标报文示例;以及根据目标报文示例的验证结果和目标接口地址,生成接口服务。
图1示意性示出了根据本公开的实施例的生成接口服务的方法和装置的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该应用场景包括接口模拟服务器101、调用方服务器102、调用方服务器103、调用方服务器104和网络105。
其中,网络105用以在接口模拟服务器101和调用方服务器102、103、104,网络105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
接口模拟服务器为用于提供Mock(模拟)服务的服务器。Mock服务是指虚假的服务程序,可以与真实的服务一样接收客户端的请求,并返回与之对应的结果,从客户端程序的角度来看,Mock服务与真实的服务是一样的。Mock服务与真实的服务的唯一区别在于,Mock服务只会根据输入的数据,返回预设的与输入的数据对应的结果,Mock服务内部并不会执行具体的服务业务逻辑。
接口模拟服务器101包括接口1、接口2和接口3。接口模拟服务器101可以通过接口1、2、3接收调用方服务器102、103、104发送的数据,并相应地对这些数据进行处理,将处理结果返回给调用方服务器102、103、104。
调用方服务器102、103、104可以通过网络105调用接口模拟服务器101的接口1、2、3,从而实现与接口模拟服务器的交互。
需要说明的是,本公开实施例所提供的生成接口服务的方法一般可以由接口模拟服务器101执行。相应地,本公开实施例所提供的生成接口服务的装置一般可以设置于接口模拟服务器101中。本公开实施例所提供的生成接口服务的方法也可以由不同于接口模拟服务器101且能够与调用方服务器102、103、104通信的服务器或服务器集群执行。相应地,本公开实施例所提供的生成接口服务的装置也可以设置于不同于接口模拟服务器101且能够与调用方服务器102、103、104通信的服务器或服务器集群中。
应该理解,图1中的网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的网络和服务器。
图2示意性示出了根据本公开的实施例的生成接口服务的方法的流程图。
如图2所示,该方法包括操作S210~S230。
在操作S210,获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例。
根据本公开的实施例,目标接口为待模拟的接口,目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例为待模拟的接口所对应的接口地址、接口参数信息、验证规则信息和报文示例。其中,接口地址例如可以为域名(Domain Name)或网络互连协议(Internet Protocol,IP)地址;接口参数包括请求参数和响应参数,请求参数用于描述接口的输入数据,响应参数用于描述响应于的输入数据而输出的输出数据,响应参数例如可以为交易时间和/或状态码等(例如状态码100表示成功,状态码300表示超限,状态码10000表示异常);报文示例为接口接收或返回的报文的样例,报文示例中可以包含多个项目,每个项目包括一个接收报文和与该接收报文对应的返回报文。报文示例例如可以采用JSON(JavaScript Object Notation,JavaScript对象表示法)格式。
图3示意性示出了根据本公开的实施例的获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例的流程图。
如图3所示,操作S210例如可以包括操作S311~S313。
在操作S311,获取接口文档。
其中,接口文档包括多个接口地址、多个接口参数信息、多个验证规则信息和多个报文示例。
根据本公开的实施例,接口文档可以通过人工上传到接口模拟服务器中,或者由调用方服务器将接口文档传输到接口模拟服务器中。
根据本公开另一些实施例,报文示例可以包括实际应用中常见的若干种接收报文,以及与这些接收报文对应的,在正常情况下返回的返回报文和在异常情况下返回的返回报文。
根据本公开另一些实施例,在获取接口文档的过程中,可以对接口文档中的接口地址、接口参数、报文示例等信息进行验证,验证内容可以包括信息的完整性、规范性和内容的可用性等。其中,验证信息的完整性例如可以包括判断接口文档中的必要信息是否完整;验证信息的规范性例如可以包括判断接口文档中各项信息是否符合预设规范,预设规范例如可以为JSON数据规范;验证信息的内容可用性例如可以包括判断接口文档中的信息之间是否矛盾。
在操作S312,确定多个接口地址中在预定时段内发生变化的接口地址作为目标接口地址。
根据本公开的实施例,首先读取接口文档中的接口地址,根据接口地址,确定接口服务地址。
根据本公开另一些实施例,对于预定时段内发生变化的接口文档,可以将该接口文档和历史记录进行对比,查找该接口文档中发生变化的部分接口地址,根据这些接口地址确定接口服务地址。
在操作S313,分别从多个接口参数信息、多个验证规则信息和多个报文示例中确定与目标接口地址对应的目标接口参数信息、目标验证规则信息和目标报文示例。
根据本公开的实施例,可以根据预设的匹配关系,分别从接口文档中的接口参数信息、验证规则信息和报文示例中确定目标接口地址所对应的目标接口参数信息、目标验证规则信息和目标报文示例。
根据本公开另一些实施例,可以在接口文档中将每一个接口地址与其所对应的接口参数信息、验证规则信息、报文示例等信息存储在一个数据结构(例如object对象)中,当确定了目标接口地址后,从与目标接口地址所在的对象中读取目标接口地址对应的接口参数信息、验证规则信息、报文示例。
然后,在操作S220,从目标验证规则信息中确定与目标接口参数信息对应的接口参数验证规则。
根据本公开的实施例,目标验证规则信息中包括多个验证规则,验证规则例如内容规则、长度规则、类型规则。其中,内容规则用于校验待验证信息的内容是否符合预设的内容格式,或者是否包含必要的信息,内容规则例如可以包括多个正则表达式,通过正则表达式验证待验证信息的内容。长度规则用于校验待验证信息中所包含的字符的长度是否符合要求。类型规则用于校验待验证信息的数据类型是否符合要求。
根据本公开的另一些实施例,除内容规则、长度规则、类型规则之外,目标验证规则信息中还可以包括在待验证信息不满足验证规则时用于提示用户的提示信息。
接下来,在操作S230,利用接口参数验证规则验证目标报文示例。
根据本公开的实施例,目标报文示例包括多个接收报文和与多个接收报文对应的多个返回报文。
图4示意性示出了根据本公开的实施例的利用接口参数验证规则验证目标报文示例的流程图。
如图4所示,操作S230例如可以包括操作S431~S433。
在操作S431,针对多个接收报文中的每个接收报文,通过解析接收报文,得到至少一个待验证参数。
根据本公开的实施例,操作S431例如可以包括根据接收报文的报文结构,解析接收报文,得到报文中包含的参数作为待验证参数。
在操作S432,确定与至少一个待验证参数中每个待验证参数是否满足接口参数验证规则。
根据本公开的实施例,操作S432例如可以包括确定每个待验证参数所对应的接口参数验证规则,判断每个待验证参数是否满足其所对应的接口参数验证规则。
在操作S433,若接收报文所对应的至少一个待验证参数中有至少一个待验证参数不满足接口参数验证规则,则从目标报文示例中删除接收报文以及与接收报文对应的返回报文。
根据本公开的实施例,读取报文示例,然后针对报文示例中的每一个接收报文,判断其是否满足输入参数需满足的验证规则。若某个接收报文中的参数不能满足该参数所对应的接口参数验证规则,则表示该接收报文为接口无法正常处理的数据,即无效输入,不能继续作为报文示例。因此,需要将这样的接收报文和其所对应的返回报文从报文示例中删除。
接着,在操作S240,根据目标报文示例的验证结果和目标接口地址,生成接口服务。
图5示意性示出了根据本公开的实施例的根据目标报文示例的验证结果和目标接口地址,生成接口服务的流程图。
如图5所示,操作S240例如可以包括操作S541~S543。
在操作S541,根据目标接口地址,确定接口服务的地址。
根据本公开的实施例,操作S541例如可以包括根据目标接口地址,动态生成对应的接口服务地址。
在操作S542,根据目标报文示例的验证结果,配置接口服务。
根据本公开的实施例,操作S542例如可以包括加载通过验证的目标报文示例,根据报文匹配关系,将接收报文和返回报文相配对,设置接收报文的关键参数,并根据关键参数的值,配置对应的返回报文,从而使接口服务能够依据接收报文的内容,动态生成返回报文。
在操作S543,部署接口服务。
根据本公开的实施例,操作S543例如可以包括选择对外服务的接口,并配置域名;根据实际业务需求,选择接口服务的参数验证规则;按照调用方需求,选择接口服务的接收报文和返回报文;然后正式生成接口服务,以对外提供接口模拟服务。
根据本公开的实施例,通过根据目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例,生成相应地接口服务,来模拟真正的接口的功能,从而替代真正的接口以供各调用方进行测试,从而减少了工作量。另外,该接口服务不需要后台多个系统之间协调工作,减少了来自多系统的影响因素,从而减小了接口测试工作的难度。
图6示意性示出了根据本公开的实施例的生成接口服务的装置的框图。
如图6所示,生成接口服务的装置600包括第一获取模块610、第一确定模块620、第一验证模块630和生成模块640。该生成接口服务的装置600可以执行上面参考图2~图5描述的方法。
具体地,第一获取模块610,用于获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例。
第一确定模块620,用于从所述目标验证规则信息中确定与所述目标接口参数信息对应的接口参数验证规则。
第一验证模块630,用于利用所述接口参数验证规则验证所述目标报文示例。
生成模块640,用于根据所述目标报文示例的验证结果和所述目标接口地址,生成所述接口服务。
图7示意性示出了根据本公开的实施例的第一获取模块的框图。
如图7所示,第一获取模块610包括:第二获取子模块710、第二确定子模块720和第三确定子模块730。
具体地,第二获取子模块710,用于获取接口文档,接口文档包括多个接口地址、多个接口参数信息、多个验证规则信息和多个报文示例。
第二确定子模块720,用于确定多个接口地址中在预定时段内发生变化的接口地址作为目标接口地址。
第三确定子模块730,用于分别从多个接口参数信息、多个验证规则信息和多个报文示例中确定与目标接口地址对应的目标接口参数信息、目标验证规则信息和目标报文示例。
图8示意性示出了根据本公开的实施例的验证模块的框图。
如图8所示,第一验证模块630包括:解析子模块810、第四确定子模块820和删除子模块830。
具体地,解析子模块810,用于针对多个接收报文中的每个接收报文,通过解析接收报文,得到至少一个待验证参数。
第四确定子模块820,用于确定与至少一个待验证参数中每个待验证参数是否满足接口参数验证规则。
删除子模块830,用于在接收报文所对应的至少一个待验证参数中有至少一个待验证参数不满足接口参数验证规则的情况下,从目标报文示例中删除接收报文以及与接收报文对应的返回报文。
图9示意性示出了根据本公开的实施例的生成模块的框图。
如图9所示,生成模块640包括:第五确定子模块910和配置子模块920。
具体地,第五确定子模块910,用于根据目标接口地址,确定接口服务的地址。
配置子模块920,用于根据目标报文示例的验证结果,配置接口服务;以及部署子模块,用于部署接口服务。
图10示意性示出了根据本公开另一实施例的生成接口服务的装置的框图。
如图10所示,装置1000还包括第二验证模块1010,用于验证以下中的至少一个:接口文档的完整性、接口文档的规范性以及接口文档的内容可用性。
根据本公开的实施例,通过根据目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例,生成相应地接口服务,来模拟真正的接口的功能,从而替代真正的接口以供各调用方进行测试,从而减少了工作量。另外,该接口服务不需要后台多个系统之间协调工作,减少了来自多系统的影响因素,从而减小了接口测试工作的难度。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一获取模块610、第一确定模块620、第一验证模块630和生成模块640中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,第一获取模块610、第一确定模块620、第一验证模块630和生成模块640中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一获取模块610、第一确定模块620、第一验证模块630和生成模块640中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图11示意性示出了根据本公开实施例的适于实现上文描述的方法的计算机系统的方框图。图11示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图11所示,计算设备1100包括处理器1110和计算机可读存储介质1120。该计算设备1100可以执行根据本公开实施例的方法。
具体地,处理器1110例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1110还可以包括用于缓存用途的板载存储器。处理器1110可以是用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质1120,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质1120可以包括计算机程序1121,该计算机程序1121可以包括代码/计算机可执行指令,其在由处理器1110执行时使得处理器1110执行根据本公开实施例的方法或其任何变形。
计算机程序1121可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序1121中的代码可以包括一个或多个程序模块,例如包括1121A、模块1121B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器1110执行时,使得处理器1110可以执行根据本公开实施例的方法或其任何变形。
根据本发明的实施例,身份识别信号发送模块410、身份识别信号接收模块420、身份识别模块430、以及信息信号收发模块440中的至少一个可以实现为参考图5描述的计算机程序模块,其在被处理器1110执行时,可以实现上面描述的相应操作。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (12)

1.一种生成接口服务的方法,包括:
获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例;
从所述目标验证规则信息中确定与所述目标接口参数信息对应的接口参数验证规则;
利用所述接口参数验证规则验证所述目标报文示例;以及
根据所述目标报文示例的验证结果和所述目标接口地址,生成所述接口服务。
2.根据权利要求1所述的方法,其中,所述获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例包括:
获取接口文档,所述接口文档包括多个接口地址、多个接口参数信息、多个验证规则信息和多个报文示例;
确定所述多个接口地址中在预定时段内发生变化的接口地址作为目标接口地址;以及
分别从所述多个接口参数信息、多个验证规则信息和多个报文示例中确定与所述目标接口地址对应的目标接口参数信息、目标验证规则信息和目标报文示例。
3.根据权利要求1所述的方法,其中,所述目标报文示例包括多个接收报文和与所述多个接收报文对应的多个返回报文;
所述利用所述接口参数验证规则验证所述目标报文示例包括:
针对所述多个接收报文中的每个接收报文,通过解析所述接收报文,得到至少一个待验证参数;
确定与所述至少一个待验证参数中每个待验证参数是否满足所述接口参数验证规则;以及
若所述接收报文所对应的至少一个待验证参数中有至少一个待验证参数不满足所述接口参数验证规则,则从所述目标报文示例中删除所述接收报文以及与所述接收报文对应的返回报文。
4.根据权利要求1所述的方法,其中,所述根据所述目标报文示例的验证结果和所述目标接口地址,生成所述接口服务包括:
根据所述目标接口地址,确定所述接口服务的地址;
根据所述目标报文示例的验证结果,配置所述接口服务;以及
部署所述接口服务。
5.根据权利要求2所述的方法,还包括验证以下中的至少一个:
所述接口文档的完整性;
所述接口文档的规范性;以及
所述接口文档的内容可用性。
6.一种生成接口服务的装置,包括:
第一获取模块,用于获取目标接口地址、目标接口参数信息、目标验证规则信息和目标报文示例;
第一确定模块,用于从所述目标验证规则信息中确定与所述目标接口参数信息对应的接口参数验证规则;
第一验证模块,用于利用所述接口参数验证规则验证所述目标报文示例;以及
生成模块,用于根据所述目标报文示例的验证结果和所述目标接口地址,生成所述接口服务。
7.根据权利要求6所述的装置,其中,所述第一获取模块包括:
第二获取子模块,用于获取接口文档,所述接口文档包括多个接口地址、多个接口参数信息、多个验证规则信息和多个报文示例;
第二确定子模块,用于确定所述多个接口地址中在预定时段内发生变化的接口地址作为目标接口地址;以及
第三确定子模块,用于分别从所述多个接口参数信息、多个验证规则信息和多个报文示例中确定与所述目标接口地址对应的目标接口参数信息、目标验证规则信息和目标报文示例。
8.根据权利要求6所述的装置,其中,所述目标报文示例包括多个接收报文和与所述多个接收报文对应的多个返回报文;所述验证模块包括:
解析子模块,用于针对所述多个接收报文中的每个接收报文,通过解析所述接收报文,得到至少一个待验证参数;
第四确定子模块,用于确定与所述至少一个待验证参数中每个待验证参数是否满足所述接口参数验证规则;以及
删除子模块,用于在所述接收报文所对应的至少一个待验证参数中有至少一个待验证参数不满足所述接口参数验证规则的情况下,从所述目标报文示例中删除所述接收报文以及与所述接收报文对应的返回报文。
9.根据权利要求6所述的装置,其中,所述生成模块包括:
第五确定子模块,用于根据所述目标接口地址,确定所述接口服务的地址;
配置子模块,用于根据所述目标报文示例的验证结果,配置所述接口服务;以及
部署子模块,用于部署所述接口服务。
10.根据权利要求7所述的装置,还包括第二验证模块,用于验证以下中的至少一个:
所述接口文档的完整性;
所述接口文档的规范性;以及
所述接口文档的内容可用性。
11.一种计算设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序,
其中,当一个或多个计算机程序被一个或多个处理器执行时,使得一个或多个处理器实现权利要求1至5中任一项的方法。
12.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至5中任一项的方法。
CN201911265195.1A 2019-12-10 2019-12-10 生成接口服务的方法、装置、计算设备和介质 Active CN111045756B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911265195.1A CN111045756B (zh) 2019-12-10 2019-12-10 生成接口服务的方法、装置、计算设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911265195.1A CN111045756B (zh) 2019-12-10 2019-12-10 生成接口服务的方法、装置、计算设备和介质

Publications (2)

Publication Number Publication Date
CN111045756A true CN111045756A (zh) 2020-04-21
CN111045756B CN111045756B (zh) 2024-01-09

Family

ID=70235818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911265195.1A Active CN111045756B (zh) 2019-12-10 2019-12-10 生成接口服务的方法、装置、计算设备和介质

Country Status (1)

Country Link
CN (1) CN111045756B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111752847A (zh) * 2020-06-30 2020-10-09 贝壳技术有限公司 接口比对方法和微服务器、计算机可读存储介质、电子设备
CN111833028A (zh) * 2020-07-24 2020-10-27 中国工商银行股份有限公司 项目管理方法、装置、电子设备和计算机可读存储介质
CN111917783A (zh) * 2020-08-06 2020-11-10 吉林亿联银行股份有限公司 一种通用报文的验证方法、装置及存储介质
CN112492031A (zh) * 2020-11-30 2021-03-12 上海寻梦信息技术有限公司 开放平台对接方法、装置、设备以及存储介质
CN112764751A (zh) * 2021-01-27 2021-05-07 深圳市酷开网络科技股份有限公司 接口生成方法和装置、接口请求方法和装置及存储介质
CN113535568A (zh) * 2021-07-22 2021-10-22 工银科技有限公司 应用部署版本的验证方法、装置、设备和介质
CN113742094A (zh) * 2020-05-31 2021-12-03 华为技术有限公司 一种api元数据确定方法、装置及系统
CN114257648A (zh) * 2020-09-22 2022-03-29 腾讯科技(深圳)有限公司 分布式系统中调用关系的确定方法及相关设备
CN114584411A (zh) * 2022-02-25 2022-06-03 山东云海国创云计算装备产业创新中心有限公司 PCIe多播验证方法、装置、电子设备及存储介质
CN114666258A (zh) * 2022-03-22 2022-06-24 阿波罗智联(北京)科技有限公司 接口测试方法、装置、电子设备和介质
CN115733747A (zh) * 2022-12-09 2023-03-03 北京鸿鹄元数科技有限公司 webservice接口的配置、调用方法、计算机设备及存储程序
CN112764751B (zh) * 2021-01-27 2024-05-24 深圳市酷开网络科技股份有限公司 接口生成方法和装置、接口请求方法和装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987451B1 (en) * 2006-11-20 2011-07-26 Mcafee, Inc. System, method and computer program product for verifying invocations of interfaces
CN107577622A (zh) * 2017-08-01 2018-01-12 广州酷狗计算机科技有限公司 后端接口模拟方法、设备及存储介质
CN109522218A (zh) * 2018-10-19 2019-03-26 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN110532107A (zh) * 2019-07-22 2019-12-03 平安付科技服务有限公司 接口调用方法、装置、计算机设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987451B1 (en) * 2006-11-20 2011-07-26 Mcafee, Inc. System, method and computer program product for verifying invocations of interfaces
CN107577622A (zh) * 2017-08-01 2018-01-12 广州酷狗计算机科技有限公司 后端接口模拟方法、设备及存储介质
CN109522218A (zh) * 2018-10-19 2019-03-26 平安科技(深圳)有限公司 接口测试方法、装置、计算机设备和存储介质
CN110532107A (zh) * 2019-07-22 2019-12-03 平安付科技服务有限公司 接口调用方法、装置、计算机设备及存储介质

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742094A (zh) * 2020-05-31 2021-12-03 华为技术有限公司 一种api元数据确定方法、装置及系统
CN111752847A (zh) * 2020-06-30 2020-10-09 贝壳技术有限公司 接口比对方法和微服务器、计算机可读存储介质、电子设备
CN111833028A (zh) * 2020-07-24 2020-10-27 中国工商银行股份有限公司 项目管理方法、装置、电子设备和计算机可读存储介质
CN111833028B (zh) * 2020-07-24 2023-08-11 中国工商银行股份有限公司 项目管理方法、装置、电子设备和计算机可读存储介质
CN111917783A (zh) * 2020-08-06 2020-11-10 吉林亿联银行股份有限公司 一种通用报文的验证方法、装置及存储介质
CN114257648A (zh) * 2020-09-22 2022-03-29 腾讯科技(深圳)有限公司 分布式系统中调用关系的确定方法及相关设备
CN112492031B (zh) * 2020-11-30 2022-11-04 上海寻梦信息技术有限公司 开放平台对接方法、装置、设备以及存储介质
CN112492031A (zh) * 2020-11-30 2021-03-12 上海寻梦信息技术有限公司 开放平台对接方法、装置、设备以及存储介质
CN112764751A (zh) * 2021-01-27 2021-05-07 深圳市酷开网络科技股份有限公司 接口生成方法和装置、接口请求方法和装置及存储介质
CN112764751B (zh) * 2021-01-27 2024-05-24 深圳市酷开网络科技股份有限公司 接口生成方法和装置、接口请求方法和装置及存储介质
CN113535568A (zh) * 2021-07-22 2021-10-22 工银科技有限公司 应用部署版本的验证方法、装置、设备和介质
CN113535568B (zh) * 2021-07-22 2023-09-05 工银科技有限公司 应用部署版本的验证方法、装置、设备和介质
CN114584411A (zh) * 2022-02-25 2022-06-03 山东云海国创云计算装备产业创新中心有限公司 PCIe多播验证方法、装置、电子设备及存储介质
CN114584411B (zh) * 2022-02-25 2024-04-02 山东云海国创云计算装备产业创新中心有限公司 PCIe多播验证方法、装置、电子设备及存储介质
CN114666258A (zh) * 2022-03-22 2022-06-24 阿波罗智联(北京)科技有限公司 接口测试方法、装置、电子设备和介质
CN114666258B (zh) * 2022-03-22 2023-11-07 阿波罗智联(北京)科技有限公司 接口测试方法、装置、电子设备和介质
CN115733747A (zh) * 2022-12-09 2023-03-03 北京鸿鹄元数科技有限公司 webservice接口的配置、调用方法、计算机设备及存储程序
CN115733747B (zh) * 2022-12-09 2023-09-08 北京鸿鹄元数科技有限公司 webservice接口的配置、调用方法、计算机设备及存储程序

Also Published As

Publication number Publication date
CN111045756B (zh) 2024-01-09

Similar Documents

Publication Publication Date Title
CN111045756B (zh) 生成接口服务的方法、装置、计算设备和介质
US11194640B2 (en) Validation framework for runtime connected API systems
US9805202B2 (en) Automated SDK ingestion
US9870313B2 (en) Unit-level formal verification for vehicular software systems
US10795709B2 (en) Systems and method for deploying, securing, and maintaining computer-based analytic environments
CN110430100B (zh) 网络连通性探测方法和装置
US20170300402A1 (en) Mock server and extensions for application testing
US11170065B2 (en) Technology agnostic UI microservices
CN107241315B (zh) 银行网关接口的接入方法、装置及计算机可读存储介质
US9304894B2 (en) Code-free testing framework
US10572373B2 (en) Automated test generation for multi-interface and multi-platform enterprise virtualization management environment
CN113449022A (zh) 一种处理业务请求的方法和装置
US20230179573A1 (en) Inferring cloud network connectivity as a minimal list of firewall rules
CN108829588A (zh) 一种测试应用程序的处理方法、部署系统及装置
US10594703B2 (en) Taint mechanism for messaging system
US11748238B2 (en) Model-based biased random system test through rest API
US11288170B1 (en) Log analysis debugging without running on real production environment
CN114546837A (zh) 接口测试的方法、装置、设备及存储介质
US10310962B2 (en) Infrastructure rule generation
CN111124614B (zh) 一种虚拟机迁移流控测试方法、装置、设备及存储介质
US11663339B2 (en) Security testing based on user request
US10296737B2 (en) Security enforcement in the presence of dynamic code loading
CN111818179A (zh) 用户请求的处理方法、装置、计算设备和介质
US20220382670A1 (en) Test space sampling for model-based biased random system test through rest api
CN112131127B (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
GR01 Patent grant
GR01 Patent grant