CN113485746B - 应用程序接口文档的生成方法及装置 - Google Patents

应用程序接口文档的生成方法及装置 Download PDF

Info

Publication number
CN113485746B
CN113485746B CN202110860222.0A CN202110860222A CN113485746B CN 113485746 B CN113485746 B CN 113485746B CN 202110860222 A CN202110860222 A CN 202110860222A CN 113485746 B CN113485746 B CN 113485746B
Authority
CN
China
Prior art keywords
information
api
target
data
configuration file
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.)
Active
Application number
CN202110860222.0A
Other languages
English (en)
Other versions
CN113485746A (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.)
Hillstone Networks Co Ltd
Original Assignee
Hillstone Networks 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 Hillstone Networks Co Ltd filed Critical Hillstone Networks Co Ltd
Priority to CN202110860222.0A priority Critical patent/CN113485746B/zh
Publication of CN113485746A publication Critical patent/CN113485746A/zh
Application granted granted Critical
Publication of CN113485746B publication Critical patent/CN113485746B/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/70Software maintenance or management
    • G06F8/73Program documentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Library & Information Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

本申请公开了一种应用程序接口文档的生成方法及装置。该方法包括:获取多个API的方法信息和数据信息,并将每个API的方法信息和数据信息进行组合,得到每个API的第一配置文件,其中,该方法信息用于描述API所支持的方法,数据信息用于描述API待处理的数据;确定目标平台,并从多个API中确定适用于目标平台的至少一个目标API;根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件;根据第二配置文件生成适用于目标平台的目标API的文档。通过本申请,解决了相关技术中通过手工方式编写接口文档,导致接口文档难以维护而且兼容性不高的问题。

Description

应用程序接口文档的生成方法及装置
技术领域
本申请涉及程序接口技术领域,具体而言,涉及一种应用程序接口文档的生成方法及装置。
背景技术
随着云应用技术的快速发展,应用程序需要面对不同的开发团队和语言,因而需要对外提供一套规范的接口,来使用任意语言调用或者管理多套系统。
需要说明的是,在前后端分离的项目中,有了规范的接口,若没有接口的文档说明,则需要前后端不断交流沟通,费时费力且极为不便。而且,如果后端字段或者逻辑发生变化的时候,前后端沟通不及时,容易产生bug。因而,需要为接口定义标准的接口文档,只需要查阅文档,及文档的变更说明,就能避免重复的沟通交流工作及因为沟通不及时而产生的bug,从而对项目内部,提高前后端的开发效率,对项目外部,提高产品的竞争力和影响力。目前,主要通过手工方式编写接口文档,接口文档脱离了代码结构,不好维护而且无法满足兼容性要求。
针对相关技术中通过手工方式编写接口文档,导致接口文档难以维护而且兼容性不高的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供一种应用程序接口文档的生成方法及装置,以解决相关技术中通过手工方式编写接口文档,导致接口文档难以维护而且兼容性不高的问题。
根据本申请的一个方面,提供了一种应用程序接口文档的生成方法。该方法包括:获取多个API的方法信息和数据信息,并将每个API的方法信息和数据信息进行组合,得到每个API的第一配置文件,其中,该方法信息用于描述API所支持的方法,数据信息用于描述API待处理的数据;确定目标平台,并从多个API中确定适用于目标平台的至少一个目标API;根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件;根据第二配置文件生成适用于目标平台的目标API的文档。
可选地,获取多个API的方法信息包括:获取每个API关联的URL信息,从URL信息指示的路径下获取文件夹中的各个实例文件,并将URL信息和各个实例文件确定为API的方法信息,其中,在每个方法对应的URL信息指示的路径下,以API名为文件夹名,以方法的各个操作方式为文件名,存储每个API所支持的方法的各个实例文件。
可选地,获取多个API的数据信息包括:获取待处理业务的数据结构的描述信息,得到预设数据信息,从预设数据信息中确定与API所支持的方法匹配的数据信息,得到API的数据信息。
可选地,数据信息至少包括以下之一: 数据类型信息、数据长度信息、数据范围信息以及数据说明信息。
可选地,根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件包括:根据目标平台的类型信息从第一配置文件中的方法信息中获取目标方法信息;根据目标平台的类型信息从第一配置文件中的数据信息中获取目标数据信息;由目标方法信息和目标数据信息组成第二配置文件。
可选地,根据第二配置文件生成适用于目标平台的目标API的文档包括:确定目标API的接口说明信息以及功能信息;根据第二配置文件中的目标数据信息生成字段说明信息;从第二配置文件中的目标方法信息中获取URL信息以及每个URL信息对应的实例信息;根据目标API的接口说明信息、功能信息、URL信息、实例信息以及字段说明信息生成目标API的文档。
可选地,在根据第二配置文件生成适用于目标平台的目标API的文档之后,该方法还包括:在目标API对应的代码修改的情况下,基于代码的修改对目标API的文档进行修改。
根据本申请的另一方面,提供了一种应用程序接口文档的生成装置。该装置包括:获取单元,用于获取多个API的方法信息和数据信息,并将每个API的方法信息和数据信息进行组合,得到每个API的第一配置文件,其中,方法信息用于描述API所支持的方法,数据信息用于描述API待处理的数据;确定单元,用于确定目标平台,并从多个API中确定适用于目标平台的至少一个目标API;处理单元,用于根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件;生成单元,用于根据第二配置文件生成适用于目标平台的目标API的文档。
根据本发明实施例的另一方面,还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种应用程序接口文档的生成方法。
根据本发明实施例的另一方面,还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种应用程序接口文档的生成方法。
通过本申请,采用以下步骤:获取多个API的方法信息和数据信息,并将每个API的方法信息和数据信息进行组合,得到每个API的第一配置文件,其中,该方法信息用于描述API所支持的方法,数据信息用于描述API待处理的数据;确定目标平台,并从多个API中确定适用于目标平台的至少一个目标API;根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件;根据第二配置文件生成适用于目标平台的目标API的文档,解决了相关技术中通过手工方式编写接口文档,导致接口文档难以维护而且兼容性不高的问题。进而达到了提高生成接口文档的便捷性和适应性的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的应用程序接口文档的生成方法的流程图;
图2是根据本申请实施例提供的另一种应用程序接口文档的生成方法的流程图;
图3是根据本申请实施例提供的应用程序接口文档的生成装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了解决相关技术中通过手工方式编写接口文档,导致接口文档难以维护而且兼容性不高的问题,相关技术中出现了以下方法:
采用文档生成工具swagger在代码中添加符合swagger规范的注释,从而生成指定页面的API文档,同时将代码修改和维护文档整合为一体,来解决文档与代码的不一致的问题。具体地,先从git上下载swagger依赖包,在代码中添加swagger定义好的注释,然后通过工具扫描所有文件提取注释,生成对应的json文件,最后将生成的json文件部署到指定的ui目录下。
但是,Swagger生成文档的方式存在以下问题:
1)、代码侵入性强,需要在应用系统源代码中新增Swagger框架提供的大量注解,这些新增的注解对于有助于自动生成API文档,但是对应用系统的业务逻辑没有作用,直接影响到源代码的简洁性和可读性,同时增加了代码量。
2)、对于有数据字段定义的系统,需要按照swagger的要求重复定义一次,形成冗余的描述,且在注释中容易造成漏改。
3)、对于复杂系统,如果存在数据转换层的系统,则无法做到数据和后端系统的统一性。
4)、针对同一份后端代码,无法生成适用于不同平台的REST API文档。
为了解决上述问题,相关技术中还出现了另一种自动化生成API文档的方法,通过从配置文件中读取接口信息来生成API文档,具体地,从配置文件中读取接口信息、输入参数信息、输出参数信息以及返回码信息,并根据读取到的信息生成接口文档。
但是,从配置文件中读取接口信息来生成API文档的发方式存在以下缺陷:
1)、高度依赖配置文件,需要独立出一份配置文件专门给api使用。
2)、API文档和代码相互独立,无法监测到代码的变更过程,需要人工进行监测。
3)、后期难以维护,如果版本变更太多,则需要维护多份配置文件。
基于此,本申请希望提供一种能够解决上述技术问题的方案,其详细内容将在后续实施例中得以阐述。
根据本申请的实施例,提供了一种应用程序接口文档的生成方法。
图1是根据本申请实施例的应用程序接口文档的生成方法的流程图。如图1所示,该方法包括以下步骤:
步骤S102,获取多个API的方法信息和数据信息,并将每个API的方法信息和数据信息进行组合,得到每个API的第一配置文件,其中,该方法信息用于描述API所支持的方法,数据信息用于描述API待处理的数据。
其中,方法信息可以由API所支持的方法的实例文件来表征,可选地,在本申请实施例提供的应用程序接口文档的生成方法中,获取多个API的方法信息包括:获取每个API关联的URL信息,从URL信息指示的路径下获取文件夹中的各个实例文件,并将URL信息和各个实例文件确定为API的方法信息,其中,在每个方法对应的URL信息指示的路径下,以API名为文件夹名,以方法的各个操作方式为文件名,存储每个API所支持的方法的各个实例文件。
需要说明的是,对于每个API,在前端需要分功能确定接口的功能介绍、接口说明、请求及响应示例,其中,请求及响应示例包含每个API支持的请求方法及响应示例,每个功能对应的请求及响应示例放在一个文件夹中,以API名为文件夹名,文件夹的路径以URL信息描述表征,文件夹内放置4个文件,分别使用GET、POST、PUT、DELETE作为文件名,也即,4个文件分别描述API接口如何使用和支持方法的GET,POST,PUT,DELETE,以及参入的参数与返回值。
其中,数据信息用于描述API待处理的数据的数据结构,可选地,在本申请实施例提供的应用程序接口文档的生成方法中,数据信息至少包括以下之一: 数据类型信息、数据长度信息、数据范围信息以及数据说明信息。
而待处理的数据与待处理业务相关,可选地,在本申请实施例提供的应用程序接口文档的生成方法中,获取多个API的数据信息包括:获取待处理业务的数据结构的描述信息,得到预设数据信息,从预设数据信息中确定与API所支持的方法匹配的数据信息,得到API的数据信息。
具体地,预设数据信息由数据结构模型的方式展示,数据结构模型中定义数据类型、长度、范围、包含的字段的说明等信息,用于命令行cli以及xml的数据交互使用。预设数据信息需要后端人员根据待处理业务确定,从预设数据信息中根据需求选择提取并筛选与每个API所支持的方法匹配的数据信息,得到该API的数据信息。
进一步的,在将API所支持的每个方法对应的实例文件存储在对应路径下的文件夹,并从后端定义好的数据结构模型中提取API的数据信息之后,获取以每个API名为文件夹名的文件夹对应的URL信息,从中提取实例文件,将实例文件和数据信息连接在一起,组成特定格式的文件内容,得到每个API的第一配置文件。
步骤S104,确定目标平台,并从多个API中确定适用于目标平台的至少一个目标API。
需要说明的是,每个平台通过API来实现数据的处理,不同类型的平台,由于功能不同,所需的API也不同,因而,可以基于每个API对应的第一配置文件,从多个API中确定适用于目标平台的目标API。
具体地,可以通过UI呈现的方式,呈现出所有平台可以支持的API的方法信息数据信息,例如,以URL作为键值后面列出每种平台的支持情况,从中确定目标平台适用的目标API,也可以根据平台类型查看每种平台所支持的URL,例如,以平台类型作为键值1,URL作为键值2,然后展示出支持的信息,从而确定目标平台适用的目标API。
步骤S106,根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件。
可选地,在本申请实施例提供的应用程序接口文档的生成方法中,根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件包括:根据目标平台的类型信息从第一配置文件中的方法信息中获取目标方法信息;根据目标平台的类型信息从第一配置文件中的数据信息中获取目标数据信息;由目标方法信息和目标数据信息组成第二配置文件。
需要说明的是,由于同一API的数据信息在所有平台中都是一样的,存在一些字段不需要向外提供的情况,可以根据API的方法信息和数据信息输出中间文件,供后续使用。具体地,可以生成两种中间文件,其中一种供生成 API文档使用,另一种供给设备内使用,当第三方访问设备的API时就可以根据种文件,格式化特定内容,同时第三方向设备写内容时可以对不支持的字段进行过滤,并且把该平台不支持的URL给过滤掉,阻止第三方访问不该访问的API,阻止通过API 授权访问设备内部使用不对外提供的URL,避免后端代码报错。
因而,根据平台类型确定API是否支持某一平台之后,再设置该平台支持的API的方法与字段,例如,使用浏览器打开用于设置API信度的UI界面,根据平台类型定制API支持的URL信息、实例信息与字段信息,设置好之后生成一个中间文件,也即第二配置文件。也可以使用其他工具编辑第二配置文件,此外,可以将第一配置文件作为第二配置文件。
通过本实施例,在同一个份代码分支需要根据平台出多个版本的API情况下,可以针对每种平台做个性化API数据过滤处理,防止使用未开放的REST API,达到了根据平台类型生成出每种平台支持的API文档的目的,同时还可以减少生成不同平台的API文档的时间成本。
步骤S108,根据第二配置文件生成适用于目标平台的目标API的文档。
可选地,在本申请实施例提供的应用程序接口文档的生成方法中,根据第二配置文件生成适用于目标平台的目标API的文档包括:确定目标API的接口说明信息以及功能信息;根据第二配置文件中的目标数据信息生成字段说明信息;从第二配置文件中的目标方法信息中获取URL信息以及每个URL信息对应的实例信息;根据目标API的接口说明信息、功能信息、URL信息、实例信息以及字段说明信息生成目标API的文档。
需要说明的是,一份完整的API文档包括以下部分:功能介绍、接口说明、说明、请求响应示例(包括请求和响应的参数树木)等部分,目标API的文档可以为包含定制后的URL以及该URL支持的方法与字段内容的html文档。可以使用模板构建生成出完整的API文档,具体地,可以按照预定义模板来生成API文档,也可以按照指定的数据结构来自定义API文档的UI样式,模板使用html5可以支持CSS,可以使API呈现丰富多彩。
通过本实施例,在前后端分离或者提供第三方调用的系统中,依据后端项目中的数据结构的描述,结合前端的调用方式、功能介绍、接口描述、请求响应示例来生成API文档,不仅能避免人工手写的方式导致API文档错误率高、代码冗余的问题,而且能按需定制不同的样式,不仅节约了人工成本,提高工作效率,而且深入契合代码,随着代码变更而自动生成新的API文档。
可选地,在根据第二配置文件生成适用于目标平台的目标API的文档之后,该方法还包括:在目标API对应的代码修改的情况下,基于代码的修改对目标API的文档进行修改。
具体地,在API代码修改入库后,即可在项目打包时,根据判断示例是否修改,来自动判断是否需要更新API文档,在数据结构不变的情况下,版本发布后也可以独立修改API文档的部分问题,减少漏洞版本的修复周期,减小代价修改的代价。
本申请实施例提供的应用程序接口文档的生成方法,通过获取多个API的方法信息和数据信息,并将每个API的方法信息和数据信息进行组合,得到每个API的第一配置文件,其中,该方法信息用于描述API所支持的方法,数据信息用于描述API待处理的数据;确定目标平台,并从多个API中确定适用于目标平台的至少一个目标API;根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件;根据第二配置文件生成适用于目标平台的目标API的文档,解决了相关技术中通过手工方式编写接口文档,导致接口文档难以维护而且兼容性不高的问题。进而达到了提高生成接口文档的便捷性和适应性的效果。
本申请实施例还提供了另一种应用程序接口文档的生成方法,以接口为REST API接口为例,如图2所示,包括以下步骤:
在生成API文档之前,分功能手写功能介绍、接口说明、请求及响应示例,包含每个REST API支持的请求方法及响应示例,每个功能放在一个文件夹中,其中文件夹名义与URL要一致,文件夹内按需放置4个文件,使用URL的GET,POST,PUT,DELETE作为文件名。
然后,根据一个配置文件,扫描读取所有REST API示例文件的信息,提取特征,生成一个包含全部平台API的文件,其中,配置文件中包括后台数据路径以及模板路径等信息。
进一步的,读取后端提供的数据结构模型(模型定义中包含字段名称、类型、范围、长度和说明的介绍),并对数据模型进行提取筛选有用信息,包含URL对应的路径,支持的方法等。
然后,将上面两步的特征文件进行初步整合输出,输出全部的REST API的URL,支持的方法,支持的字段类型,数值大小范围等字段信息。
需要说明的是,如果需要定制多平台的API,可以使用浏览器打开特定的UI,根据平台类型定制RSET API与字段,设置好之后生成一个自定义配置文件,也可以使用其他工具编辑自定义配置文件。否则,可以使用之前的自定义配置文件。
进一步地,进行数据处理生成指定格式的数据,具体地,根据平台类型过滤URL方法与字段、以及示例文件等信息,生成一个特定的中间过程文件,该文件包含需要支持URL、字段、字段类型、字段值的范围以及示例说明等。
最后,基于上一步生成的数据结构,使用模板构建生成出完整的REST API文档,得到的REST API文档可以包括以下部分:功能介绍、接口说明、参数说明(包含请求和响应)、字段说明、请求响应示例等部分,其中只有字段说明是从后台定义的数据结构中获取的。
通过本申请实施例,在生成API文档时,不仅可以避免侵入式代码,导致的代码冗余,避免多人同时操作,减少开发成本;还可以根据用户的需求,自定义UI的模板,可以保证多种平台生成的REST API文档风格的一致性,改善REST API文档的呈现方式;从而使得生成API文档后,对外能满足第三方调用,提供多元化的管理方式,增加产品竞争力,对内能方便前后台联调,极大的减少了前后台的交流沟通成本。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种应用程序接口文档的生成装置,需要说明的是,本申请实施例的应用程序接口文档的生成装置可以用于执行本申请实施例所提供的用于应用程序接口文档的生成方法。以下对本申请实施例提供的应用程序接口文档的生成装置进行介绍。
图3是根据本申请实施例的应用程序接口文档的生成装置的示意图。如图3所示,该装置包括:获取单元10、确定单元20、处理单元30和生成单元40。
具体地,获取单元10,用于获取多个API的方法信息和数据信息,并将每个API的方法信息和数据信息进行组合,得到每个API的第一配置文件,其中,方法信息用于描述API所支持的方法,数据信息用于描述API待处理的数据。
确定单元20,用于确定目标平台,并从多个API中确定适用于目标平台的至少一个目标API。
处理单元30,用于根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件。
生成单元40,用于根据第二配置文件生成适用于目标平台的目标API的文档。
本申请实施例提供的应用程序接口文档的生成装置,通过获取单元10,用于获取多个API的方法信息和数据信息,并将每个API的方法信息和数据信息进行组合,得到每个API的第一配置文件,其中,方法信息用于描述API所支持的方法,数据信息用于描述API待处理的数据;确定单元20,用于确定目标平台,并从多个API中确定适用于目标平台的至少一个目标API;处理单元30,用于根据目标平台的类型信息对每个目标API的第一配置文件中的信息进行处理,得到第二配置文件;生成单元40,用于根据第二配置文件生成适用于目标平台的目标API的文档,解决了相关技术中通过手工方式编写接口文档,导致接口文档难以维护而且兼容性不高的问题,进而达到了提高生成接口文档的便捷性和适应性的效果。
可选地,在本申请实施例提供的应用程序接口文档的生成装置中,获取单元10包括:第一获取模块,用于获取每个API关联的URL信息,从URL信息指示的路径下获取文件夹中的各个实例文件,并将URL信息和各个实例文件确定为API的方法信息,其中,在每个方法对应的URL信息指示的路径下,以API名为文件夹名,以方法的各个操作方式为文件名,存储每个API所支持的方法的各个实例文件。
可选地,在本申请实施例提供的应用程序接口文档的生成装置中,获取单元10还包括:第二获取模块,用于获取待处理业务的数据结构的描述信息,得到预设数据信息,从预设数据信息中确定与API所支持的方法匹配的数据信息,得到API的数据信息。
可选地,在本申请实施例提供的应用程序接口文档的生成装置中,数据信息至少包括以下之一:数据类型信息、数据长度信息、数据范围信息以及数据说明信息。
可选地,在本申请实施例提供的应用程序接口文档的生成装置中,处理单元30包括:第三获取模块,用于根据目标平台的类型信息从第一配置文件中的方法信息中获取目标方法信息;第四获取模块,用于根据目标平台的类型信息从第一配置文件中的数据信息中获取目标数据信息;组成模块,用于由目标方法信息和目标数据信息组成第二配置文件。
可选地,在本申请实施例提供的应用程序接口文档的生成装置中,生成单元40包括:第一确定模块,用于确定目标API的接口说明信息以及功能信息;第一生成模块,用于根据第二配置文件中的目标数据信息生成字段说明信息;第五获取模块,用于从第二配置文件中的目标方法信息中获取URL信息以及每个URL信息对应的实例信息;第二生成模块,用于根据目标API的接口说明信息、功能信息、URL信息、实例信息以及字段说明信息生成目标API的文档。
可选地,在本申请实施例提供的应用程序接口文档的生成装置中,装置还包括:修改单元,用于在根据第二配置文件生成适用于目标平台的目标API的文档之后,在目标API对应的代码修改的情况下,基于代码的修改对目标API的文档进行修改。
所述应用程序接口文档的生成装置包括处理器和存储器,上述获取单元10、确定单元20、处理单元30和生成单元40等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来解决相关技术中通过手工方式编写接口文档,导致接口文档难以维护而且兼容性不高的问题。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请实施例还提供了一种非易失性存储介质,非易失性存储介质包括存储的程序,其中,程序运行时控制非易失性存储介质所在的设备执行一种应用程序接口文档的生成方法。
本申请实施例还提供了一种电子装置,包含处理器和存储器;存储器中存储有计算机可读指令,处理器用于运行计算机可读指令,其中,计算机可读指令运行时执行一种应用程序接口文档的生成方法。本文中的电子装置可以是服务器、PC、PAD、手机等。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (12)

1.一种应用程序接口文档的生成方法,其特征在于,包括:
获取多个API的方法信息和数据信息,并将每个所述API的所述方法信息和所述数据信息进行组合,得到每个所述API的第一配置文件,其中,所述方法信息用于描述API所支持的方法,所述数据信息用于描述API待处理的数据;
确定目标平台,并从多个所述API中确定适用于所述目标平台的至少一个目标API;
根据所述目标平台的类型信息对每个所述目标API的第一配置文件中的信息进行处理,得到第二配置文件;
根据所述第二配置文件生成适用于所述目标平台的所述目标API的文档;
其中,所述根据所述目标平台的类型信息对每个所述目标API的第一配置文件中的信息进行处理,得到第二配置文件包括:根据所述目标平台的类型信息从所述第一配置文件中的方法信息中获取目标方法信息;根据所述目标平台的类型信息从所述第一配置文件中的数据信息中获取目标数据信息;由所述目标方法信息和所述目标数据信息组成所述第二配置文件,所述第二配置文件是由平台类型定制的API支持的URL信息、实例信息以及字段信息生成得到;
其中,所述获取多个API的方法信息包括:获取每个所述API关联的URL信息,从所述URL信息指示的路径下获取文件夹中的各个实例文件,并将所述URL信息和所述各个实例文件确定为所述API的方法信息,其中,在每个方法对应的URL信息指示的路径下,以API名为文件夹名,以方法的各个操作方式为文件名,存储每个API所支持的方法的所述各个实例文件。
2.根据权利要求1所述的方法,其特征在于,所述获取多个API的数据信息包括:
获取待处理业务的数据结构的描述信息,得到预设数据信息,从所述预设数据信息中确定与所述API所支持的方法匹配的数据信息,得到所述API的数据信息。
3.根据权利要求1所述的方法,其特征在于,所述数据信息至少包括以下之一:数据类型信息、数据长度信息、数据范围信息以及数据说明信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第二配置文件生成适用于所述目标平台的所述目标API的文档包括:
确定所述目标API的接口说明信息以及功能信息;
根据所述第二配置文件中的所述目标数据信息生成字段说明信息;
从所述第二配置文件中的所述目标方法信息中获取URL信息以及每个URL信息对应的实例信息;
根据所述目标API的所述接口说明信息、所述功能信息、所述URL信息、所述实例信息以及所述字段说明信息生成所述目标API的文档。
5.根据权利要求1所述的方法,其特征在于,在所述根据所述第二配置文件生成适用于所述目标平台的所述目标API的文档之后,所述方法还包括:
在所述目标API对应的代码修改的情况下,基于所述代码的修改对所述目标API的文档进行修改。
6.一种应用程序接口文档的生成装置,其特征在于,包括:
获取单元,用于获取多个API的方法信息和数据信息,并将每个所述API的所述方法信息和所述数据信息进行组合,得到每个所述API的第一配置文件,其中,所述方法信息用于描述API所支持的方法,所述数据信息用于描述API待处理的数据;
确定单元,用于确定目标平台,并从多个所述API中确定适用于所述目标平台的至少一个目标API;
处理单元,用于根据所述目标平台的类型信息对每个所述目标API的第一配置文件中的信息进行处理,得到第二配置文件;
生成单元,用于根据所述第二配置文件生成适用于所述目标平台的所述目标API的文档;
其中,所述获取单元包括第一获取模块,用于获取每个所述API关联的URL信息,从所述URL信息指示的路径下获取文件夹中的各个实例文件,并将所述URL信息和所述各个实例文件确定为所述API的方法信息,其中,在每个方法对应的URL信息指示的路径下,以API名为文件夹名,以方法的各个操作方式为文件名,存储每个API所支持的方法的所述各个实例文件;
其中,所述处理单元包括:第三获取模块,用于根据所述目标平台的类型信息从所述第一配置文件中的方法信息中获取目标方法信息;第四获取模块,用于根据所述目标平台的类型信息从所述第一配置文件中的数据信息中获取目标数据信息;组成模块,用于由所述目标方法信息和所述目标数据信息组成所述第二配置文件,所述第二配置文件是由平台类型定制的API支持的URL信息、实例信息以及字段信息生成得到。
7.根据权利要求6所述的装置,其特征在于,所述获取单元还包括第二获取模块,用于获取待处理业务的数据结构的描述信息,得到预设数据信息,从所述预设数据信息中确定与所述API所支持的方法匹配的数据信息,得到所述API的数据信息。
8.根据权利要求6所述的装置,其特征在于,所述数据信息至少包括以下之一:数据类型信息、数据长度信息、数据范围信息以及数据说明信息。
9.根据权利要求6所述的装置,其特征在于,所述生成单元包括:
第一确定模块,用于确定所述目标API的接口说明信息以及功能信息;
第一生成模块,用于根据所述第二配置文件中的所述目标数据信息生成字段说明信息;
第五获取模块,用于从所述第二配置文件中的所述目标方法信息中获取URL信息以及每个URL信息对应的实例信息;
第二生成模块,用于根据所述目标API的所述接口说明信息、所述功能信息、所述URL信息、所述实例信息以及所述字段说明信息生成所述目标API的文档。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
修改单元,用于在所述根据所述第二配置文件生成适用于所述目标平台的所述目标API的文档之后,在所述目标API对应的代码修改的情况下,基于所述代码的修改对所述目标API的文档进行修改。
11.一种非易失性存储介质,其特征在于,所非易失性存储介质包括存储的程序,其中,所述程序运行时控制所述非易失性存储介质所在的设备执行权利要求1至5中任意一项所述的应用程序接口文档的生成方法。
12.一种电子装置,其特征在于,包含处理器和存储器,所述存储器中存储有计算机可读指令,所述处理器用于运行所述计算机可读指令,其中,所述计算机可读指令运行时执行权利要求1至5中任意一项所述的应用程序接口文档的生成方法。
CN202110860222.0A 2021-07-28 2021-07-28 应用程序接口文档的生成方法及装置 Active CN113485746B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110860222.0A CN113485746B (zh) 2021-07-28 2021-07-28 应用程序接口文档的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110860222.0A CN113485746B (zh) 2021-07-28 2021-07-28 应用程序接口文档的生成方法及装置

Publications (2)

Publication Number Publication Date
CN113485746A CN113485746A (zh) 2021-10-08
CN113485746B true CN113485746B (zh) 2024-02-06

Family

ID=77944286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110860222.0A Active CN113485746B (zh) 2021-07-28 2021-07-28 应用程序接口文档的生成方法及装置

Country Status (1)

Country Link
CN (1) CN113485746B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115599983B (zh) * 2022-12-09 2023-03-14 思创数码科技股份有限公司 数据查询方法、装置、可读存储介质及电子设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528701A (zh) * 2016-10-26 2017-03-22 广东广新信息产业股份有限公司 跨境商品信息发送方法和系统
CN107239271A (zh) * 2016-03-29 2017-10-10 滴滴(中国)科技有限公司 开发文档生成方法及装置
CN108491199A (zh) * 2018-03-06 2018-09-04 福建天泉教育科技有限公司 一种自动生成接口的方法及终端
CN109165248A (zh) * 2018-01-29 2019-01-08 北京数聚鑫云信息技术有限公司 一种基于api的管理系统及管理方法
CN109445841A (zh) * 2018-11-08 2019-03-08 深圳乐信软件技术有限公司 接口文档管理方法、装置、服务器及存储介质
CN111488174A (zh) * 2020-04-14 2020-08-04 苏州达家迎信息技术有限公司 应用程序接口文档的生成方法、装置、计算机设备及介质
CN111796809A (zh) * 2020-06-29 2020-10-20 平安普惠企业管理有限公司 接口文档生成方法、装置、电子设备及介质
CN112540862A (zh) * 2020-12-23 2021-03-23 东莞市盟大塑化科技有限公司 一种接口文档数据生成方法、装置、设备及存储介质
CN112612452A (zh) * 2020-12-18 2021-04-06 华人运通(上海)云计算科技有限公司 一种api平台实现方法、装置、设备及存储介质
CN113094123A (zh) * 2021-03-23 2021-07-09 北京达佳互联信息技术有限公司 应用程序中功能的实现方法、装置、电子设备和存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10839011B2 (en) * 2018-04-18 2020-11-17 International Business Machines Corporation Application programing interface document generator
US10545730B2 (en) * 2018-05-07 2020-01-28 Red Hat, Inc. Automatically generating code for application programming interfaces
US10761838B2 (en) * 2018-07-31 2020-09-01 Dell Products L.P. Generating unified and dynamically updatable application programming interface documentation from different sources
US11792226B2 (en) * 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107239271A (zh) * 2016-03-29 2017-10-10 滴滴(中国)科技有限公司 开发文档生成方法及装置
CN106528701A (zh) * 2016-10-26 2017-03-22 广东广新信息产业股份有限公司 跨境商品信息发送方法和系统
CN109165248A (zh) * 2018-01-29 2019-01-08 北京数聚鑫云信息技术有限公司 一种基于api的管理系统及管理方法
CN108491199A (zh) * 2018-03-06 2018-09-04 福建天泉教育科技有限公司 一种自动生成接口的方法及终端
CN109445841A (zh) * 2018-11-08 2019-03-08 深圳乐信软件技术有限公司 接口文档管理方法、装置、服务器及存储介质
CN111488174A (zh) * 2020-04-14 2020-08-04 苏州达家迎信息技术有限公司 应用程序接口文档的生成方法、装置、计算机设备及介质
CN111796809A (zh) * 2020-06-29 2020-10-20 平安普惠企业管理有限公司 接口文档生成方法、装置、电子设备及介质
CN112612452A (zh) * 2020-12-18 2021-04-06 华人运通(上海)云计算科技有限公司 一种api平台实现方法、装置、设备及存储介质
CN112540862A (zh) * 2020-12-23 2021-03-23 东莞市盟大塑化科技有限公司 一种接口文档数据生成方法、装置、设备及存储介质
CN113094123A (zh) * 2021-03-23 2021-07-09 北京达佳互联信息技术有限公司 应用程序中功能的实现方法、装置、电子设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
使用javadoc自动生成标准API文档;谢艳芳;;天津职业院校联合学报(第07期);全文 *

Also Published As

Publication number Publication date
CN113485746A (zh) 2021-10-08

Similar Documents

Publication Publication Date Title
CN110058856B (zh) 页面配置方法及装置
CN104133772A (zh) 一种自动生成测试数据的方法
CN106951231B (zh) 一种计算机软件开发方法及装置
US20140059517A1 (en) Method and system for facilitating rapid development of end-to-end software applications
CN104049974A (zh) 控件动态组装方法和系统
CN110941428B (zh) 一种网站创建方法和装置
CN108874379B (zh) 页面的处理方法及装置
CN113296823A (zh) 一种生成资源配置文件的方法、装置、设备及存储介质
CN110806866A (zh) 一种前端管理系统的生成方法及装置
CN111198772A (zh) 一种应用程序接口api生成的方法及系统
CN110889272A (zh) 数据处理方法、装置、设备及存储介质
CN114553971B (zh) 一种应用框架的设计方法、系统、设备及介质
CN113485746B (zh) 应用程序接口文档的生成方法及装置
US10567472B2 (en) Manipulation of PDF files using HTML authoring tools
CN112800371A (zh) 一种处理web网页内电子表格数据的方法及装置
CN116301856B (zh) 一种可视化表单设计器的设计方法、装置、设备及介质
US11843679B2 (en) Automated dependency management based on page components
US10147061B2 (en) Integrating a construction jobsite system with external tools
CN112487773A (zh) 一种报表生成方法、装置、设备及存储介质
CN112541327A (zh) 一种数据读取方法、装置、电子设备及存储介质
CA2539047A1 (en) System and method for generating component based applications
CN117785196A (zh) 具有增删改查功能的表单页面的生成方法以及装置
CN107479899B (zh) 文件处理方法和装置、存储介质及处理器
CN117519691B (zh) 应用程序处理方法、装置、计算机设备和存储介质
CN116088843A (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