CN114168190A - 接口文档生成方法、装置、计算机设备和存储介质 - Google Patents
接口文档生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN114168190A CN114168190A CN202010951067.9A CN202010951067A CN114168190A CN 114168190 A CN114168190 A CN 114168190A CN 202010951067 A CN202010951067 A CN 202010951067A CN 114168190 A CN114168190 A CN 114168190A
- Authority
- CN
- China
- Prior art keywords
- interface
- parameter
- file
- management platform
- parameters
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/74—Reverse engineering; Extracting design information from source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/73—Program documentation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及一种接口文档生成方法、装置、计算机设备和存储介质。方法包括:获取携带有装饰函数的业务代码,根据装饰函数对应的数据定义规则,提取业务代码中定义的接口参数,根据接口参数,生成接口描述文件,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。快速便捷地提取出业务代码中的接口参数,实现了接口参数的自动提取,并借助接口管理平台来实现接口文档的自动生成,实现了接口文档与业务代码的耦合,提高接口文档准确性,准确的接口文档有利于软件开发过程中前后端的高效沟通,从而有效提高软件项目开发效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种接口文档生成方法、装置、计算机设备和存储介质。
背景技术
在软件项目开发过程中,一般采用前后端分离的开发模式进行开发,以提高开发效率,但这种开发模型需要前端开发人员、后端开发人员和测试人员之间的紧密沟通,如前端开发依赖于后端的接口数据,后端开发人员需要提供完善的接口文档给前端开发人员。
传统技术中,业务代码中的每一个接口均需要通过定义属性、参数等接口说明,并将接口说明写入文档中,得到接口文档,接口文档是独立于业务代码存在的,在业务代码更新后,需要基于更新的业务代码重新定义接口文档没中的各个接口。在将各个接口的接口说明写入或更新至接口文档时,存在接口遗漏或是重复定义的情况,导致接口文档中的信息不够准确,不利于前后端的沟通,从而影响软件项目的开发效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高接口文档准确性以提高软件项目开发效率的接口文档生成方法、装置、计算机设备和存储介质。
一种接口文档生成方法,方法包括:
获取携带有装饰函数的业务代码;
根据装饰函数对应的数据定义规则,提取业务代码中定义的接口参数;
根据接口参数,生成接口描述文件;
将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
在其中一个实施例中,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档包括:
将接口描述文件同步至接口管理平台,以使接口管理平台在检测到存在与业务代码对应的初始接口文档时,根据接口描述文件更新初始接口文档。
一种接口文档生成装置,装置包括:
业务代码获取模块,用于获取携带有装饰函数的业务代码;
接口参数提取模块,用于根据装饰函数对应的数据定义规则,提取业务代码中定义的接口参数;
接口描述文件生成模块,用于根据接口参数,生成接口描述文件;
接口文档生成模块,用于将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
获取携带有装饰函数的业务代码;
根据装饰函数对应的数据定义规则,提取业务代码中定义的接口参数;
根据接口参数,生成接口描述文件;
将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取携带有装饰函数的业务代码;
根据装饰函数对应的数据定义规则,提取业务代码中定义的接口参数;
根据接口参数,生成接口描述文件;
将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
上述接口文档生成方法、装置、计算机设备和存储介质,基于携带有装饰函数的业务代码,能够根据装饰函数的数据定义规则,快速便捷地提取出业务代码中的接口参数,实现了接口参数的自动提取,并根据接口参数,生成接口管理平台可识别的接口描述文件,进而通过接口管理平台生成接口文档,利用装饰函数的数据定义规则,直接基于业务代码即可实现接口参数的自动提取,并借助接口管理平台来自动生成接口文档,实现了接口文档与业务代码的耦合,提高接口文档准确性,准确的接口文档有利于软件开发过程中前后端的高效沟通,从而有效提高软件项目开发效率。
附图说明
图1为一个实施例中接口文档生成方法的应用环境图;
图2为一个实施例中接口文档生成方法的流程示意图;
图3为另一个实施例中接口文档生成方法的流程示意图;
图4为再一个实施例中接口文档生成方法的流程示意图;
图5为又一个实施例中接口文档生成方法的流程示意图;
图6为还一个实施例中接口文档生成方法的流程示意图;
图7为一个实施例中接口文档生成方法的接口信息查询界面示意图;
图8为一个实施例中接口文档生成方法的流程示意图;
图9为再一个实施例中接口文档生成方法的流程示意图;
图10为一个实施例中接口文档生成装置的结构框图;
图11为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的接口文档生成方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信,服务器104通过网络与接口管理平台106进行通信。服务器104获取开发人员在终端102上编写的携带有装饰函数的业务代码,根据装饰函数对应的数据定义规则,提取业务代码中定义的接口参数,根据接口参数,生成接口描述文件,将接口描述文件同步至接口管理平台106,以通过接口管理平台106生成接口文档。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种接口文档生成方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤202至步骤208。
步骤202,获取携带有装饰函数的业务代码。
装饰函数又称装饰器,指的是在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能,它是通过创建一个包装对象,也就是装饰来包裹真实的对象。业务代码是指可以直接在开发环境中运行以实现业务逻辑的代码。
开发人员通过开发终端编写的携带有装饰函数的业务代码,其本质上不改变原有业务逻辑,通过装饰函数对代码中的接口参数进行了包装,便于进行接口参数的识别。在应用过程中,通过装饰器模式,可以在开发者原有熟悉的技术栈上,对接口输入参数、输出参数、http状态码以及参数类型等等数据进行自定义,来降低开发者的学习成本。
步骤204,根据装饰函数对应的数据定义规则,提取业务代码中定义的接口参数。
装饰函数的数据定义规则是装饰函数需要遵守的编写规则,也就是说,在业务代码的编写过程中,需要根据装饰函数的编写规则来定义接口参数,从而在获取到业务代码之后,可以基于装饰函数对应的数据定义规则,快速准确地识别出业务代码中定义的接口参数并进行接口参数的提取。
步骤206,根据接口参数,生成接口描述文件。
在实施例中,通过对接口参数进行参数标准化处理和格式转换处理,生成接口描述文件。其中,参数标准化是指将接口参数按照一定的参数格式规范进行处理的过程,格式转换是指将经过标准化的处理的接口参数,按照符合接口管理平台的格式要求进行文件格式转换的处理过程,以使得生成的接口描述文件能够导入对应的接口管理平台。
在一个实施例中,如图3所示,根据接口参数,生成接口描述文件即步骤206包括步骤302至步骤306。
步骤302,获取与接口参数文件对应的参数格式规范;
步骤304,根据参数格式规范,对接口参数进行参数标准化处理,生成接口参数文件。
接口参数文件是具有标准参数格式规范的文件,将接口参数按照标准参数格式规范进行整理,更新至初始的接口参数文件,从而得到包含各接口参数,且符合参数格式规范的接口参数文件。具体来说,业务代码的主要目的是用于实现代码逻辑来进行数据处理,在代码文件中定义的接口参数的没有统一的格式要求。基于接口参数文件具有的标准参数格式规范,通过将接口参数按照标准参数格式规范进行相关信息填充以及数据格式调整,更新至初始的接口参数文件,实行了将接口参数写入接口参数文件的目的,接口参数文件中的接口参数是符合标准参数格式规范的。在实施例中,接口参数文件可以是swagger文件,swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的Web服务。具体来说,swagger文件是具有规范和完整的框架的标准规范的文件。将提取到的各接口参数按照swagger文件的规范进行接口及接口相关的信息的定义,得到包括各项接口参数的swagger文件。
步骤306,根据预设的文件转换逻辑,将接口参数文件转换成接口描述文件。
预设的文件转换逻辑是指利用不同文件中的数据表达方式的差异以及同一数据在不同文件中的表现形式,将文件1中的数据A转换为符合文件2的数据表达方式的数据a的处理逻辑,其中,数据A与数据a的实质内容相同。接口描述文件是指具有被接口管理平台识别的特定格式的文件。在实施例中,接口描述文件可以是YAML(YAML Ain't a MarkupLanguage,一种标记语言)文件。YAML是一个可读性高,用来表达数据序列化的格式。YAML的语法和其他高级语言类似,并且可以简单表达清单、散列表,标量等数据形态。
由于接口参数文件本身是严格按照参数格式规范生成的文件,接口参数文件与接口描述文件之间实际包含的数据都是提取的接口参数,但两者是基于不同的文件规则进行数据记录的,根据预先配置的接口参数文件与接口描述文件之间的文件转换逻辑,将接口参数文件转换成接口描述文件。
步骤208,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
接口管理平台是指对接口数据进行统一管理的数据管理平台,接口管理平台可以导入特定格式的文件,获取接口参数,并与获取的接口参数来生成对应的接口文档,从而实现接口文档的自动生成。
在其中一个实施例中,可以通过将接口描述文件导入接口管理平台,快速生成接口文档。在其他实施例中,开发者可以直接编写接口描述文件导入接口管理平台来得到描述文件,但是由于接口描述文件具有特定的格式要求,语法学习成本偏高,入门门槛较高,且手动编写接口描述文件,比较耗时间。通过文件转换,可以减少开发者的参与,不仅能够提高效率,还能避免接口描述文件在编写过程中的人为错误的出现。
上述接口文档生成方法,基于携带有装饰函数的业务代码,能够根据装饰函数的数据定义规则,快速便捷地提取出业务代码中的接口参数,实现了接口参数的自动提取,并根据接口参数,生成接口管理平台可识别的接口描述文件,进而通过接口管理平台生成接口文档,利用装饰函数的数据定义规则,直接基于业务代码即可实现接口参数的自动提取,并借助接口管理平台来自动生成接口文档,实现了接口文档与业务代码的耦合,提高接口文档准确性,准确的接口文档有利于软件开发过程中前后端的高效沟通,从而有效提高软件项目开发效率。
在其中一个实施例中,如图4所示,在根据参数格式规范,对接口参数进行参数标准化处理,生成接口参数文件,即步骤304之后,还包括步骤402至步骤404。
步骤402,根据接口参数文件,生成接口参数校验文件。
步骤404,当接收到客户端发起的接口调试请求时,根据接口参数校验文件,对接口调试请求对应的接口参数进行校验。
步骤208,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档包括步骤406。
步骤406,当校验通过时,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
接口参数校验文件是指接口参数校验环境的数据规范的文件。在接口调试过程中,基于接口参数校验文件,能够对客户端请求发送接口的参数进行合法性校验。通过对客户端发送的接口调试请求对应的接口参数进行校验,能够进一步验证业务代码的正确性。
在一个实施例中,接口文件的生成过程主要包括三个过程,第一个是业务代码的开发阶段,第二个是线上的接口调试阶段,第三个是接口开发完成阶段也就是接口文件生成阶段。客户端的接口参数的校验在接口调试阶段实现。
在其他实施例中,在运行过程中,通过接口参数校验文件,还可以保证接口在运行时接口参数的合法性,避免非法接口的入侵。具体来说,在调试验证过程中,如果客户端的接口校验不存在问题,则表征客户端的接口不存在问题,在应该过程中,基于相同的接口参数校验文件,所有验证合法的接口都是可以直接进行参数输入与输出的,一旦出现非法接口的入侵时,由于入侵的接口没有经过调试验证,在不满足接口参数校验文件的校验条件时,通过该接口的请求会被拦截,避免进入业务代码,确保运行过程中的安全性。
在其中一个实施例中,接口参数校验文件包括jsonschema文件。方法还包括:响应node进程重启操作,将jsonschema文件加载至node进程。当接收到客户端发起的接口调试请求时,根据接口参数校验文件,对接口调试请求对应的接口参数进行校验包括:当接收到客户端发起的接口调试请求时,从node进程中调用jsonschema文件,对接口调试请求对应的接口参数进行校验。
接口参数校验文件包括jsonschema文件,Jsonschema是描述json的数据格式。Node进程是用于执行指定的任务的进程,通过重启node进程,中断原node进程中加载的文件,实现加载文件的更新,确保在进程中加载的文件是最新的接口参数校验文件,以确保客户端接口的校验结果的准确性。
在其中一个实施例中,如图5所示,当接收到客户端发起的接口调试请求时,根据接口参数校验文件,对接口调试请求对应的接口参数进行校验,即步骤404包括步骤502至步骤508。
步骤502,当接收到客户端发起的接口调试请求时,提取接口调试请求中的输入参数。
步骤504,根据接口参数校验文件中的输入参数定义规范,对输入参数进行校验。
步骤506,当输入参数校验通过时,根据业务代码中的业务逻辑,得到输入参数对应的输出参数。
步骤508,根据接口参数校验文件中的输出参数定义规范,对输出参数进行校验。
当校验通过时,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档,即步骤406包括步骤510。
步骤510,当输出参数校验通过时,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
在一个实施例中,需要校验的接口参数包括输入参数和输出参数。具体来说,首先对输入参数进行校验,在输入参数校验通过时,再根据输入参数和业务逻辑,得到输出参数,然后对输出参数进行校验,只有当输入参数和输出参数均通过校验时,才能得到验证通过的结果。其中,输入参数通过校验是指接口调试请求中的输入参数符合接口参数校验文件中的输入参数定义规范,输出参数通过校验是指接口调试请求中的输出参数符合接口参数校验文件中的输出参数定义规范。
在接口参数校验文件中,包括输入参数定义规范和输出参数定义规范,例如,输入参数定义规范可以包括输入参数的数据类型、是否缺少必须字段等。通过输入参数定义规范和输出参数定义规范,分别对输入参数和输出参数进行校验。通过对客户端对应接口的输入参数和输出参数的校验,可以实现对接口的参数合法性校验,进一步地,还可以利用业务代码与客户端接口之间的联系,基于接口的参数校验结果,反推出业务代码是否存在问题,实现业务代码的检测。
在其中一个实施例中,如图6所示,在当接收到客户端发起的接口调试请求时,根据接口参数校验文件,对接口调试请求对应的接口参数进行校验,即步骤404之后,还包括步骤602。
步骤602,当接口参数校验失败时,反馈接口参数非法信息至客户端,以使客户端根据接口参数非法信息,更新业务代码。
业务代码更新完成后,返回步骤204。
在实施例中,客户端发送的接口调试请求是基于业务代码发起的,当接口参数校验失败时,服务器会反馈携带有校验失败原因的接口参数非法信息至客户端,客户端根据接口参数非法信息中的校验失败原因,定位业务代码中的问题数据,从而对业务代码进行更新。在业务代码更新之后,接口参数也会发生变化,此时,通过重新提取更新业务代码中定义的接口参数,对接口参数文件、接口参数校验文件以及接口描述文件均进行更新,确保生成的接口文件的准确性。
可以理解,输出参数的校验是指输入参数的校验之后进行的,当输入参数校验失败时,便会终止校验,并反馈校验失败的结果至客户单,不会基于输入参数执行业务逻辑,也就不会得到输入参数对应的输出参数,减少数据处理量。
在其中一个实施例中,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档包括:
将接口描述文件同步至接口管理平台,以使接口管理平台在检测到存在与业务代码对应的初始接口文档时,根据接口描述文件更新初始接口文档。
为了满足对业务代码的实时更新的业务场景的应用,可以通过更新接口管理平台中的接口文档,实现数据的同步更新。具体来说,在生成接口文档之前,接口管理平台通过检测是否存在与业务代码对应的初始接口文档,若有,则更新初始接口文档,若没有,则直接生成新的接口文档,避免了接口文档的重复存在,导致接口文档的数据结构混乱。
在其中一个实施例中,方法还包括:向接口管理平台发送接口信息查看请求。接收接口管理平台反馈的接口信息,并将接口信息推送至接口信息展示界面,接口信息包括接口基本信息、请求参数信息以及返回数据信息。
如图7所示,以金融系统的接口为例,基于接口管理平台,可以可视化的方式直观地获取到接口文档中的各个接口的接口信息。在接口信息展示界面中展示有包括接口文档中的各项接口的接口列表。响应对接口列表中的某个接口的触碰操作,可以进一步获取并展示该接口的详细接口信息,具体包括接口基本信息、请求参数信息以及返回数据信息,实现了接口信息的便捷查看。
如通过点击接口列表中的接口名称为某条交易记录信息的接口,则对应展示该接口的基本信息、请求参数以及返回数据。其中基本信息具体包括接口名称、创建人、状态、更新时间、接口路径、mock地址。请求参数具体包括参数名称,是够必须、示例以及备注。返回数据包括名称、类型、是否必须、默认值以及备注。
本申请还提供一种应用场景,该应用场景应用上述的接口文档生成方法。具体地,该接口文档生成方法在该应用场景的应用如下:
参见图8,接口文档的生成过程主要分为三个阶段。
第一阶段是本地开发阶段,开发人员通过自定义装饰器定义接口的输入参数、输出参数、http状态码以及参数类型等等数据,在本地开发时,装饰器分析引擎会自动分析出当前接口相关数据,并且组装成swagger文件以及jsonschema文件,分别提供给到接口文档以及参数验证使用。
具体来说,开发人员在开发客户端编写带有装饰器的业务代码,通过检验声明文件对参数定义是否符合装饰器的定义规范,通过提取接口参数,生成swagger文件,也就是接口参数文件,然后通过swagger自带的转换工具将swagger文件转换成jsonschema文件,通过重启node进程,将jsonschema文件加载到node进程上,此外,引擎工具会将swagger文件转换成YAML文件为第二阶段的接口参数校验做准备。
第二阶段是接口调试阶段,这一阶段适合线上处理过程。当客户端发起一个http/https请求时,参数验证插件分析引擎会自动分析出当前接口的输出参数、输出参数,并且结合第一阶段中的jsonschema文件,进行参数的校验,保证输入参数、输出参数的合法性。
具体来说,客户端基于业务代码,向服务器发起请求,服务器根据node进程中的jsonschema文件对请求中的输入参数进行校验,当输入参数校验失败时,将异常数据反馈给客户端,并上报。当输入参数校验成功时,根据业务逻辑,得到与输入参数对应的输出参数,即返回参数,根据node进程中的jsonschema文件对请求中的输出参数进行校验,当输出参数校验失败时,将异常数据反馈给客户端,并上报。当各个接口的输出参数均校验成功时,进入第三阶段。
第三阶段是接口开发完成阶段,也是接口文档生成阶段。在代码提交过程中,将第一阶段中通过swagger文件转换成的YAML文件自动同步到yapi平台,最终生成或更新得到接口文档。
具体来说,在业务代码与swagger文件的提交过程中,并将YAML文件同步至yapi平台,yapi平台根据YAML文件,生成或更新得到接口文档。
通过上述处理,不仅仅可以通过装饰器模式解决接口文档自动生成的问题,同时也大大提高了开发者开发效率和降低开发者学习成本;另外,结合相关的参数校验插件,可以保证接口在运行时,输入参数以及输出参数的合法性,避免非法端口的接入。
应该理解的是,虽然上述各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图9所示,提供了一种接口文档生成方法,包括以下步骤902至步骤930。
步骤902,获取携带有装饰函数的业务代码。
步骤904,根据装饰函数对应的数据定义规则,提取业务代码中定义的接口参数。
步骤906,获取swagger文件参数格式规范,根据swagger文件参数格式规范,对接口参数进行标准化处理,生成swagger文件。
步骤908,根据swagger文件,生成jsonschema文件,并根据预设的文件转换逻辑,将swagger文件转换成yaml文件。
步骤910,响应node进程重启操作,将jsonschema文件加载至node进程。
步骤912,当接收到客户端发起的接口调试请求时,提取接口调试请求中的输入参数。
步骤914,从node进程中调用jsonschema文件。
步骤916,根据jsonschema文件中的输入参数定义规范,对输入参数进行校验。
步骤918,当输入参数校验失败时,反馈接口参数非法信息至客户端,以使客户端根据接口参数非法信息,更新业务代码,并返回步骤904。
步骤920,当输入参数校验通过时,根据业务代码中的业务逻辑,得到输入参数对应的输出参数。
步骤922,根据jsonschema文件中的输出参数定义规范,对输出参数进行校验。
步骤924,当输出参数校验失败时,反馈接口参数非法信息至客户端,以使客户端根据接口参数非法信息,更新业务代码,并返回步骤904。
步骤926,当输出参数校验通过时,将yaml文件同步至接口管理平台,由接口管理平台生成接口文档。
步骤928,向接口管理平台发送接口信息查看请求。
步骤930,接收接口管理平台反馈的接口信息,并将接口信息推送至接口信息展示界面,接口信息包括接口基本信息、请求参数信息以及返回数据信息。
在一个实施例中,如图10所示,提供了一种接口文档生成装置1000,该装置可以采用软件模块或硬件模块,或者是二者的结合成为计算机设备的一部分,该装置具体包括:业务代码获取模块1002、接口参数提取模块1004、接口描述文件生成模块1006和接口文档生成模块1008,其中:
业务代码获取模块1002,用于获取携带有装饰函数的业务代码。
接口参数提取模块1004,用于根据装饰函数对应的数据定义规则,提取业务代码中定义的接口参数。
接口描述文件生成模块1006,用于根据接口参数,生成接口描述文件。
接口文档生成模块1008,用于将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
在其中一个实施例中,接口描述文件生成模块包括接口参数文件生成模块和文件转换模块。其中接口参数文件生成模块用于获取与接口参数文件对应的参数格式规范,根据参数格式规范,对接口参数进行参数标准化处理,生成接口参数文件。文件转换模块用于根据预设的文件转换逻辑,将接口参数文件转换成接口描述文件。
在其中一个实施例中,接口文档生成装置还包括接口参数校验模块,用于根据接口参数文件,生成接口参数校验文件,当接收到客户端发起的接口调试请求时,根据接口参数校验文件,对接口调试请求对应的接口参数进行校验;接口文档生成模块还用于当校验通过时,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
在其中一个实施例中,接口参数校验文件包括jsonschema文件;接口文档生成装置还包括文件加载模块,用于响应node进程重启操作,将jsonschema文件加载至node进程;接口参数校验模块还用于当接收到客户端发起的接口调试请求时,从node进程中调用jsonschema文件,对接口调试请求对应的接口参数进行校验。
在其中一个实施例中,接口参数校验模块还用于当接收到客户端发起的接口调试请求时,提取接口调试请求中的输入参数;根据接口参数校验文件中的输入参数定义规范,对输入参数进行校验;当输入参数校验通过时,根据业务代码中的业务逻辑,得到输入参数对应的输出参数;根据接口参数校验文件中的输出参数定义规范,对输出参数进行校验;接口文档生成模块还用于当输出参数校验通过时,将接口描述文件同步至接口管理平台,由接口管理平台生成接口文档。
在其中一个实施例中,接口文档生成装置还包括信息反馈模块,用于当接口参数校验失败时,反馈接口参数非法信息至客户端,以使客户端根据接口参数非法信息,更新业务代码。
在其中一个实施例中,接口文档生成模块还用于将接口描述文件同步至接口管理平台,以使接口管理平台在检测到存在与业务代码对应的初始接口文档时,根据接口描述文件更新初始接口文档。
在其中一个实施例中,接口文档生成装置还包括接口信息查看模块,用于向接口管理平台发送接口信息查看请求;接收接口管理平台反馈的接口信息,并将接口信息推送至接口信息展示界面,接口信息包括接口基本信息、请求参数信息以及返回数据信息。
上述接口文档生成装置,基于携带有装饰函数的业务代码,能够根据装饰函数的数据定义规则,快速便捷地提取出业务代码中的接口参数,实现了接口参数的自动提取,并根据接口参数,生成接口管理平台可识别的接口描述文件,进而通过接口管理平台生成接口文档,利用装饰函数的数据定义规则,直接基于业务代码即可实现接口参数的自动提取,并借助接口管理平台来自动生成接口文档,实现了接口文档与业务代码的耦合,提高接口文档准确性,准确的接口文档有利于软件开发过程中前后端的高效沟通,从而有效提高软件项目开发效率。
关于接口文档生成装置的具体限定可以参见上文中对于接口文档生成方法的限定,在此不再赘述。上述接口文档生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储接口文档生成数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种接口文档生成方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种接口文档生成方法,其特征在于,所述方法包括:
获取携带有装饰函数的业务代码;
根据所述装饰函数对应的数据定义规则,提取所述业务代码中定义的接口参数;
根据所述接口参数,生成接口描述文件;
将所述接口描述文件同步至接口管理平台,由所述接口管理平台生成接口文档。
2.根据权利要求1所述的方法,其特征在于,所述根据所述接口参数,生成接口描述文件包括:
获取与接口参数文件对应的参数格式规范;
根据所述参数格式规范,对所述接口参数进行参数标准化处理,生成接口参数文件;
根据预设的文件转换逻辑,将所述接口参数文件转换成接口描述文件。
3.根据权利要求2所述的方法,其特征在于,在所述根据所述参数格式规范,对所述接口参数进行参数标准化处理,生成接口参数文件之后,还包括:
根据所述接口参数文件,生成接口参数校验文件;
当接收到客户端发起的接口调试请求时,根据所述接口参数校验文件,对所述接口调试请求对应的接口参数进行校验;
所述将所述接口描述文件同步至接口管理平台,由所述接口管理平台生成接口文档包括:
当校验通过时,将所述接口描述文件同步至接口管理平台,由所述接口管理平台生成接口文档。
4.根据权利要求3所述的方法,其特征在于,所述接口参数校验文件包括jsonschema文件;
所述方法还包括:
响应node进程重启操作,将所述jsonschema文件加载至所述node进程;
所述当接收到客户端发起的接口调试请求时,根据所述接口参数校验文件,对所述接口调试请求对应的接口参数进行校验包括:
当接收到客户端发起的接口调试请求时,从所述node进程中调用jsonschema文件,对所述接口调试请求对应的接口参数进行校验。
5.根据权利要求3所述的方法,其特征在于,所述当接收到客户端发起的接口调试请求时,根据所述接口参数校验文件,对所述接口调试请求对应的接口参数进行校验包括:
当接收到客户端发起的接口调试请求时,提取所述接口调试请求中的输入参数;
根据所述接口参数校验文件中的输入参数定义规范,对所述输入参数进行校验;
当所述输入参数校验通过时,根据业务代码中的业务逻辑,得到所述输入参数对应的输出参数;
根据所述接口参数校验文件中的输出参数定义规范,对所述输出参数进行校验;
所述当校验通过时,将所述接口描述文件同步至接口管理平台,由所述接口管理平台生成接口文档包括:
当所述输出参数校验通过时,将所述接口描述文件同步至接口管理平台,由所述接口管理平台生成接口文档。
6.根据权利要求3所述的方法,其特征在于,在所述当接收到客户端发起的接口调试请求时,根据所述接口参数校验文件,对所述接口调试请求对应的接口参数进行校验之后,还包括:
当所述接口参数校验失败时,反馈接口参数非法信息至所述客户端,以使所述客户端根据所述接口参数非法信息,更新所述业务代码。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述接口管理平台发送接口信息查看请求;
接收所述接口管理平台反馈的接口信息,并将所述接口信息推送至接口信息展示界面,所述接口信息包括接口基本信息、请求参数信息以及返回数据信息。
8.一种接口文档生成装置,其特征在于,所述装置包括:
业务代码获取模块,用于获取携带有装饰函数的业务代码;
接口参数提取模块,用于根据所述装饰函数对应的数据定义规则,提取所述业务代码中定义的接口参数;
接口描述文件生成模块,用于根据所述接口参数,生成接口描述文件;
接口文档生成模块,用于将所述接口描述文件同步至接口管理平台,由所述接口管理平台生成接口文档。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010951067.9A CN114168190A (zh) | 2020-09-11 | 2020-09-11 | 接口文档生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010951067.9A CN114168190A (zh) | 2020-09-11 | 2020-09-11 | 接口文档生成方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114168190A true CN114168190A (zh) | 2022-03-11 |
Family
ID=80475870
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010951067.9A Pending CN114168190A (zh) | 2020-09-11 | 2020-09-11 | 接口文档生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168190A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327416A (zh) * | 2022-03-17 | 2022-04-12 | 云账户技术(天津)有限公司 | 应用于开发分支的接口同步方法、装置及电子设备 |
CN115562641A (zh) * | 2022-10-27 | 2023-01-03 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN116149882A (zh) * | 2023-04-19 | 2023-05-23 | 北京轻松筹信息技术有限公司 | 一种生成接口描述文件的方法、装置、设备和存储介质 |
CN116501306A (zh) * | 2023-06-29 | 2023-07-28 | 深圳市银云信息技术有限公司 | 一种基于自然语言描述生成接口文档代码的方法 |
-
2020
- 2020-09-11 CN CN202010951067.9A patent/CN114168190A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114327416A (zh) * | 2022-03-17 | 2022-04-12 | 云账户技术(天津)有限公司 | 应用于开发分支的接口同步方法、装置及电子设备 |
CN115562641A (zh) * | 2022-10-27 | 2023-01-03 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN115562641B (zh) * | 2022-10-27 | 2024-05-10 | 中电金信软件有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN116149882A (zh) * | 2023-04-19 | 2023-05-23 | 北京轻松筹信息技术有限公司 | 一种生成接口描述文件的方法、装置、设备和存储介质 |
CN116149882B (zh) * | 2023-04-19 | 2023-08-08 | 北京轻松筹信息技术有限公司 | 一种生成接口描述文件的方法、装置、设备和存储介质 |
CN116501306A (zh) * | 2023-06-29 | 2023-07-28 | 深圳市银云信息技术有限公司 | 一种基于自然语言描述生成接口文档代码的方法 |
CN116501306B (zh) * | 2023-06-29 | 2024-03-26 | 深圳市银云信息技术有限公司 | 一种基于自然语言描述生成接口文档代码的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2020029375A1 (zh) | 接口测试方法、系统、计算机设备和存储介质 | |
CN114168190A (zh) | 接口文档生成方法、装置、计算机设备和存储介质 | |
CN110290212B (zh) | 服务调用记录方法、装置、计算机设备和存储介质 | |
CN107704479B (zh) | 文件生成方法和装置 | |
CN110941546A (zh) | Web页面用例的自动化测试方法、装置、设备及存储介质 | |
CN109445837B (zh) | 一种应用程序的发布方法及设备 | |
CN111831542B (zh) | Api应用调测方法及装置、存储介质 | |
CN111737140A (zh) | 接口自动化测试方法、装置、设备及计算机可读存储介质 | |
CN114372006A (zh) | 测试用例自动生成方法、系统、计算机设备和存储介质 | |
CN111797020A (zh) | 基于动态字节码的mock数据方法及装置 | |
CN109361628A (zh) | 报文组装方法、装置、计算机设备和存储介质 | |
CN112579461A (zh) | 断言处理方法、系统和存储介质 | |
CN112882844A (zh) | 基于网络前后端的联调方法、装置及存储介质 | |
CN111427796A (zh) | 系统测试方法、装置及电子设备 | |
CN111752838A (zh) | 问题排查方法、装置、服务器及存储介质 | |
CN117131545A (zh) | 数据处理方法及装置、存储介质、终端 | |
CN116339690A (zh) | 业务流程的执行方法及其装置、电子设备及存储介质 | |
CN113485942B (zh) | 一种基于独立模块的自动化测试方法及装置 | |
CN114116268A (zh) | Flink SQL语句的校验方法、装置、计算机设备和存储介质 | |
CN114239296A (zh) | 一种数据处理方法、装置及电子设备 | |
CN114490892A (zh) | 一种基于datax的数据传输方法和装置 | |
US10671505B2 (en) | System and method for monitoring service | |
CN116680203B (zh) | 面向多租户的SaaS平台的测试方法、装置、设备和介质 | |
CN110727475A (zh) | 基于配置化智能服务调用方法 | |
CN114900569B (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 |