接口文档同步方法、装置、电子设备及存储介质与流程

文档序号:29312922发布日期:2022-03-19 20:43阅读:86来源:国知局
接口文档同步方法、装置、电子设备及存储介质与流程

1.本公开涉及计算机技术领域,尤其涉及一种接口文档同步方法、装置、电子设备及存储介质。


背景技术:

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.图1是根据一示例性实施例示出的一种接口文档同步方法的应用环境图。
31.图2是根据一示例性实施例示出的一种接口文档同步方法的流程图。
32.图3是根据一示例性实施例示出的另一种接口文档同步方法的流程图。
33.图4根据一示例性实施例示出的一种同步工具初始化方法的流程图。
34.图5是根据一示例性实施例示出的一种接口文档同步装置的框图。
35.图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
36.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公
开实施例中的技术方案进行清楚、完整地描述。
37.以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
38.还需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
39.图1是本公开实施例提供的一种实施环境的示意图。参见图1,该实施环境包括电子设备102和接口管理平台104。电子设备102和接口管理平台104之间通过无线或者有线网络连接。示例性的,电子设备102为服务器。示例性的,接口管理平台104为基于开源框架yapi(一种开源接口可视化管理平台)之上二次封装的接口管理平台。
40.本公开实施例中,电子设备102通过接收接口文档同步接口被访问时传入的接口同步参数,并确定接口同步参数中的接口标识;然后,电子设备102根据预加载的文档同步配置信息,确定针对接口标识对应接口类型的文档扫描目录;然后,电子设备102读取在文档扫描目录中与接口标识对应接口的接口文档;然后,电子设备102通过接口管理平台104的接口文档导入接口将接口文档同步至接口管理平台104;接口管理平台104用于向用户账户呈现接口文档,并发送文档导入结果至接口文档导入接口以将文档导入结果返回至电子设备102。
41.图2是根据一示例性实施例示出的一种接口文档同步方法的流程图,如图2所示,该接口文档同步方法用于电子设备102中,包括以下步骤。
42.在步骤s210中,接收接口文档同步接口被访问时传入的接口同步参数,并确定接口同步参数中的接口标识。
43.其中,接口文档同步接口为接收接口文档同步请求的接口。
44.其中,接口同步参数包括接口类型与接口标识。
45.其中,接口标识可以是接口同步参数的参数值。
46.其中,接口标识可以包括局部接口标识和全量接口标识。
47.具体地,电子设备可以在接口文档同步接口接收到接口文档同步请求,并根据接口文档同步请求确定目标地址,即url(uniform resource locator,统一资源定位器),url中携带有接口同步参数,可以根据接口同步参数确定接口同步参数名称及接口同步参数值,通过接口同步参数名称确定接口类型,将接口同步参数值作为接口标识;其中,接口标识可以包括局部接口标识和全量接口标识,当接口标识为局部接口标识时,接口同步参数值的数量为至少一个;当接口标识为全量接口标识时,接口同步参数值可以是“all”。例如,若接口文档同步接口的url为http://ip:port/swagger/kapi/autoimport?controllernames=xxx controller;则可以确定接口同步参数为controllernames=xxx controller,则可以将接口同步参数值xxx controller作为接口标识,确定该接口标识为局部接口标识;并确定接口类型为controller类(控制类)。
48.在步骤s220中,根据预加载的文档同步配置信息,确定针对接口标识对应接口类型的文档扫描目录。
49.其中,文档同步配置信息包括接口标识对应接口类型的的文档扫描目录的路径。
50.其中,文档扫描目录为本地端中用于存放接口文档的文件目录。
51.具体地,文档同步配置信息包括了各接口类型的文档扫描目录在本地端的路径,电子设备可以根据预先加载的文档同步配置信息,确定针对接口标识对应接口类型的文档扫描目录在本地端的路径,并基于文档扫描目录的路径,确定针对接口标识对应接口类型的文档扫描目录。例如,若接口标识对应接口类型为controller类,预加载的文档同步配置信息中包括了controller类接口的文档扫描目录的路径,如controllerscanpath:com.kuaishou.controller,电子设备可以基于上述文档扫描目录的路径,确定接口标识对应的controller类的文档扫描目录。
52.在步骤s230中,读取在所述文档扫描目录中与所述接口标识对应接口的接口文档。
53.其中,接口文档为根据接口的接口注解信息生成的。
54.其中,接口注解信息为读取接口的接口代码确定的。
55.其中,文档扫描目录中存放了属于接口标识对应接口类型的所有接口文档。
56.具体地,电子设备在确定了针对所述接口标识对应接口类型的文档扫描目录后,文档扫描目录中存放了属于接口标识对应接口类型的所有接口文档,电子设备可以根据接口标识,在上述文档扫描目录中读取到与接口标识对应接口的接口文档。例如,若接口标识对应接口类型的文档扫描目录为controller类的文档扫描目录,电子设备可以基于接口标识xxx controller在controller类的文档扫描目录中找到与xxx controller对应的接口文档;其中,在步骤s210中,若电子设备确定接口同步参数中的接口标识为全量文档标识,则电子设备会读取针对接口标识对应接口类型的文档扫描目录中所有的接口文档。
57.其中,电子设备可以预先获取到与接口标识对应接口的接口代码,并对上述接口代码进行读取,确定与接口标识对应接口的注解信息,最后基于接口的注解信息生成与接口标识对应接口的接口文档。
58.在步骤s240中,将接口文档同步至接口管理平台。
59.其中,接口管理平台用于向用户账户呈现接口文档。
60.具体地,电子设备可以基于文档同步指令,将读取到的与接口标识对应接口的接口文档同步至接口管理平台中;其中,若接口标识为局部接口标识,则步骤s230读取到的与接口标识对应接口的接口文档为文档扫描目录中的部分接口文档,则本次接口文档同步操作为部分同步方式;若接口标识为全量接口标识,则步骤s230读取到的与接口标识对应接口的接口文档为文档扫描目录中的全部接口文档,则本次接口文档同步操作为全量同步方式。
61.而接口管理平台还会在接收到接口文档后,根据预设的数据格式,对接口文档中的数据的格式进行格式转换并存储,得到转换后的接口文档,使得转换后的接口文档的数据格式为预设的数据格式;其中,接口文档中的数据的格式可以但不限于是json(javascript object notation,基于javascript编程语言的一种轻量级的数据交换格式)等格式;如此,接口管理平台可以向用户账户呈现各接口标识对应接口的接口文档。
62.上述接口文档方法中,通过接收接口文档同步接口被访问时传入的接口同步参数,并确定接口同步参数中的接口标识;然后,根据预加载的文档同步配置信息,确定针对接口标识对应接口类型的文档扫描目录;然后,读取在文档扫描目录中与接口标识对应接
口的接口文档;其中,接口文档为根据接口的接口注解信息生成的,而接口的接口注解信息则是通过读取接口的接口代码确定得到的;从而可以在不直接查阅接口的接口代码的情况下,基于接口标识获取对应接口的接口文档,并通过接口的接口文档获取对应的接口信息,避免用户浪费大量时间去查阅内容繁多的接口代码;同时,通过将接口文档同步至用于向用户账户呈现接口文档的接口管理平台,使得用户可以在接口管理平台直接通过接口标识查阅到与各接口标识对应接口的接口文档,并通过各接口文档高效确定各接口的信息和功能,避免了无法对大量的接口文档进行规范管理的问题,进而提高了软件项目开发的效率。
63.在一示例性实施例中,将接口文档同步至接口管理平台,包括:获取针对接口文档的目标同步目录;基于目标同步目录和接口文档,生成文档同步指令;发送文档同步指令至接口管理平台的接口文档导入接口。
64.其中,目标同步目录为接口管理平台中用于存放接口文档的文件目录。
65.其中,接口文档导入接口用于响应文档同步指令,将接口文档导入至目标同步目录中。
66.其中,接口文档导入接口是接口管理平台的一部分,用于与外部电子设备进行交互。
67.其中,接口管理平台用于向用户账户呈现接口文档。
68.具体地,电子设备可以通过解析同步目录注解信息和文档同步配置信息,获取针对接口文档的目标同步目录;然后,电子设备基于针对接口文档的目标同步目录和接口文档,生成文档同步指令;然后,电子设备将文档同步指令发送至接口管理平台的接口文档导入接口;接口文档导入接口在接收到电子设备发送的文档同步指令后,会接收到接口文档,并确定接口文档的目标同步目录,也就是说,接口文档导入接口可以确定接口文档同步到接口管理平台后所要存放的文件目录,并将接口文档导入至接口管理平台中对应的文件目录中。
69.本实施例的技术方案,在将接口文档同步至接口管理平台时,通过获取针对接口文档的目标同步目录,并基于目标同步目录和接口文档,生成文档同步指令,然后,发送文档同步指令至接口管理平台的接口文档导入接口;如此,接口文档导入接口可以响应文档同步指令,确定接口文档的目标同步目录,即确定接口管理平台中用于存放接口文档的文件目录,并将接口文档导入至接口管理平台中对应的文件目录中,从而使用户可以在接口管理平台的具体文件目录下查阅各接口文档,实现了对接口文档的规范管理,从而可以提高获取各接口的接口文档的效率。
70.在一示例性实施例中,获取针对接口文档的目标同步目录,包括:读取接口的接口代码,确定接口的同步目录注解信息;解析同步目录注解信息,确定针对接口文档的子级同步目录,以及,解析文档同步配置信息,确定针对接口文档的父级同步目录;根据父级同步目录和子级同步目录,构建目标同步目录。
71.其中,接口代码可以但不限于是java代码
72.其中,同步目录注解信息为接口注解信息中的同步目录注解信息,可以是@api注解信息。
73.其中,文档同步配置信息包括针对接口文档的父级同步目录的名称。
74.其中,子级同步目录为接口管理平台中用于存放接口文档的文件目录中的子级目
录,可以是二级目录。
75.其中,父级同步目录为接口管理平台中用于存放接口文档的文件目录中的父级目录,可以是一级目录。
76.具体地,电子设备可以在读取接口的接口代码后,确定接口的接口注解信息,并从接口注解信息中确定同步目录注解信息;通过对同步目录注解信息的解析,确定接口的描述信息,描述信息中包括了针对接口文档的子级同步目录的名称;从而基于接口的描述信息,可以确定接口的接口文档的子级同步目录,即确定接口管理平台中用于存放接口文档的文件目录中的子级目录。其中,同步目录注解信息可以是@api注解信息,@api注解信息作用在类上,表示对类的说明,如可以作用于接口类型controller类上;@api注解信息拥有两个属性:value和tags,tags属性可以用来对对应类进行说明,从而可以确定子级同步目录,如若@api注解信息为@api(tags={"xxx测试接口文档目录"}),则通过对@api注解信息进行解析,确定接口文档同步到接口管理平台后所在的子级同步目录为“xxx测试接口文档目录”,若两个同步目录注解信息中的tags值相同,则将根据上述两个同步目录注解信息生成的两个接口文档同步至接口管理平台中的同一子级目录中。
77.同时,文档同步配置信息包括了针对接口文档的父级同步目录的名称,电子设备通过对预加载的文档同步配置信息进行解析,还可以确定针对接口文档的父级同步目录,即确定接口管理平台中用于存放接口文档的文件目录中的父级目录。如此,通过确定针对接口文档的子级同步目录和针对接口文档的父级同步目录,构建成针对接口文档的目标同步目录,从而可以确定接口文档同步至接口管理平台后所存放的文件目录;其中,父级同步目录可以是目标同步目录中的一级目录,子级同步目录可以是目标同步目录中的二级目录,即目标同步目录有一级目录和二级目录组成。
78.本实施例的技术方案,通过读取接口的接口代码,确定接口的同步目录注解信息;然后,通过解析同步目录注解信息,确定针对接口文档的子级同步目录,以及,解析文档同步配置信息,确定针对接口文档的父级同步目录;最后,根据父级同步目录和子级同步目录,构建目标同步目录;如此,通过目标同步目录,可以确定在接口的接口文档同步至接口管理平台后所要存放的文件目录,且目标同步目录由父级同步目录和子级同步目录构成,从而可以将接口文档存放于接口管理平台中的不同的子级目录中,方便对接口文档进行管理和分类,并可以在用户通过接口管理平台查阅接口文档时,快速查询到到用户所需的接口文档,进而提高了获取接口文档的效率。
79.在一示例性实施例中,在发送文档同步指令至接口管理平台的接口文档导入接口的步骤之后,方法还包括:接收接口文档导入接口返回的文档导入结果;解析文档导入结果,确定已导入接口管理平台的接口文档的数量信息。
80.其中,文档导入结果可以包括本次接口文档导入操作中导入成功的接口文档的数量信息、本次接口文档导入操作后,接口管理平台的目标同步目录中已存储的接口文档的数量信息、本次接口文档导入操作中导入失败的接口文档的数量信息、本次接口文档导入操作前目标同步目录中已存储的接口文档的数量信息。
81.其中,已导入所述接口管理平台的接口文档的数量信息包括本次接口文档导入操作中导入成功的接口文档的数量信息、本次接口文档导入操作后,接口管理平台的目标同步目录中已存储的接口文档的数量信息。
82.具体地,电子设备在发送文档同步指令至接口管理平台的接口文档导入接口后,接口文档导入接口可以响应文档同步指令,将接口文档导入至目标同步目录中,从而使接口管理平台可以接收并存储接口文档;之后,接口管理平台会对接收到的接口文档进行信息汇总,确定本次接口文档导入操作中导入成功的接口文档的数量和本次接口文档导入操作后目标同步目录中已存储的接口文档的数量,还可以包括本次接口文档导入操作中导入失败的接口文档的数量和/或本次接口文档导入操作前目标同步目录中已存储的接口文档的数量;之后,接口管理平台会将文档导入结果发送至接口文档导入接口,接口文档导入接口将上述文档导入结果返回给电子设备,电子设备通过对文档导入结果解析,确定已导入所述接口管理平台的接口文档的数量信息,即本次接口文档导入操作中导入成功的接口文档的数量信息、本次接口文档导入操作后,接口管理平台的目标同步目录中已存储的接口文档的数量信息;除此之外,电子设备还可以确定本次接口文档导入操作中导入失败的接口文档的数量信息和本次接口文档导入操作前目标同步目录中已存储的接口文档的数量信息。
83.本实施例的技术方案,通过接收接口文档导入接口返回的文档导入结果,并解析文档导入结果,确定已导入接口管理平台的接口文档的数量信息,从而可以确定接口管理平台是否接收到接口文档,避免出现接口文档同步、接口文档重复同步的情况,提高了接口文档同步的可靠性。
84.在一示例性实施例中,方法还包括:加载文档同步配置信息,对预设的接口文档生成程序进行初始化,得到初始化后的接口文档生成程序;
85.其中,初始化后的接口文档生成程序用于读取接口的接口代码,确定接口的接口注解信息,并根据接口注解信息,生成具有预设格式的接口描述文件;还用于将接口描述文件作为接口对应的接口文档保存至文档扫描目录中。
86.其中,存储文档同步配置信息的文件为yml格式(一种可读的数据序列化格式)。
87.其中,文档同步配置信息包括接口标识对应接口类型的的文档扫描目录的路径、是否开启接口文档同步覆盖功能确认信息、项目名称、项目描述、针对接口文档的父级同步目录的名称、是否开启接口管理平台同步功能确认信息中的至少一种。
88.其中,父级同步目录为接口管理平台中用于存放接口文档的文件目录中的父级目录。
89.其中,接口代码可以但不限于是java代码。
90.具体地,电子设备可以加载文档同步配置信息,读取到文档同步配置信息,文档同步配置信息包括接口标识对应接口类型的的文档扫描目录的路径、是否开启接口文档同步覆盖功能确认信息、项目名称、项目描述信息、针对接口文档的父级同步目录的名称、是否开启接口管理平台同步功能确认信息中的至少一种;通过文档同步配置信息对预设的接口文档生成程序进行初始化,得到初始化后的接口文档生成程序,使得初始化后的接口文档生成程序中包含了文档同步配置信息;然后,通过初始化后的接口文档生成程序读取接口的接口代码,并可以确定接口的接口注解信息;其中,接口注解信息包括类名、方法名、入参数量、出参数量、入参类型、出参类型等;其中,接口注解信息的类名可以作为针对接口文档的子级同步目录名称;然后,可以将接口注解信息和文档同步配置信息中的接口标识对应接口类型的的文档扫描目录的路径、项目名称和项目描述信息添加到预设的接口文档模板
内,预设的接口文档模板具有统一的数据格式,如json格式,从而可以根据添加了接口注解信息和部分文档同步配置信息的预设的接口文档模板,生成与接口代码对应的接口描述文件,并将上述接口描述文件作为接口对应的接口文档保存至位于本地端的文档扫描目录中。
91.其中,电子设备可以基于springfox-swagger读取接口代码,确定接口的接口注解信息,并根据接口的接口注解信息自动生成json格式的接口描述文件,并将接口描述文件作为接口对应的接口文档;其中,springfox是一个开源的api(application programming interface,应用程序接口))doc(document,文档)框架;swagger是一个开源、规范且完整的框架,用于生成、描述、调用和可视化restful(representational state transfer,一种网络应用程序的设计风格和开发方式)风格的web(world wide web,全球广域网)服务;而springfox-swagger则是将springfox与swagger进行整合,springfox基于swagger的规范,可以将基于springmvc(一种java框架)和spring boot(一种开源应用框架)项目的项目代码,自动生成json格式的描述文件。
92.本实施例的技术方案,通过加载文档同步配置信息,对预设的接口文档生成程序进行初始化,得到初始化后的接口文档生成程序;如此,可以基于包含了文档同步配置信息的初始化后的接口文档生成程序读取接口的接口代码,并确定接口的接口注解信息,并根据接口注解信息,生成具有预设格式的接口描述文件,而接口描述文件将作为接口对应的接口文档;从而可以实现基于接口注解信息生成接口文档,而接口注解信息是通过包含了文档同步配置信息的初始化后的接口文档生成程序读取接口的接口代码确定得到的;进而保证了接口文档与对应接口的接口信息的一致性,并且避免了人工编写接口文档效率低的问题,提高了接口文档的生成效率。
93.在一示例性实施例中,加载文档同步配置信息,对预设的接口文档生成程序进行初始化,得到初始化后的接口文档生成程序,包括:获取当前业务环境;若当前业务环境满足预设业务环境,则执行加载文档同步配置信息,对预设的接口文档生成程序进行初始化,得到初始化后的接口文档生成程序的步骤。
94.其中,预设业务环境包括业务测试环境和业务开发环境中的至少一种。
95.其中,当前业务环境可以但不限于是业务测试环境、业务开发环境和业务生产环境等环境。
96.具体地,电子设备通过环境配置类信息,确定当前业务环境;其中,可以但不限于是业务测试环境、业务开发环境和业务生产环境等环境;若当前业务环境为预设业务环境中的任意一种,如业务测试环境或业务开发环境,则执行加载文档同步配置信息,对预设的接口文档生成程序进行初始化,得到初始化后的接口文档生成程序的步骤;若当前业务环境不为预设业务环境,如当前业务环境为业务生产环境,则不再执行后续步骤,无法实现将接口文档同步至接口管理平台。
97.本实施例的技术方案,通过获取当前业务环境,并对当前业务环境进行判断;若当前业务环境为业务测试环境和业务开发环境中的任意一种,则执行加载文档同步配置信息,对预设的接口文档生成程序进行初始化,得到初始化后的接口文档生成程序的步骤;从而保证了接口文档仅在业务测试环境和业务开发环境中生效,不会暴露在业务生产环境中,提高了接口文档的安全性。
98.图3是根据一示例性实施例示出的另一种接口文档同步方法的流程图,如图3所示,该方法用于图1中的电子设备102中,包括以下步骤。
99.在步骤s310中,接收接口文档同步接口被访问时传入的接口同步参数,并确定所述接口同步参数中的接口标识。
100.在步骤s320中,根据预加载的文档同步配置信息,确定针对所述接口标识对应接口类型的文档扫描目录。
101.在步骤s330中,读取在所述文档扫描目录中与所述接口标识对应接口的接口文档;其中,所述接口文档为根据所述接口的接口注解信息生成的;所述接口注解信息为读取所述接口的接口代码确定的。
102.在步骤s340中,获取针对所述接口文档的目标同步目录;所述目标同步目录为所述接口管理平台中用于存放所述接口文档的文件目录。
103.在步骤s350中,基于所述目标同步目录和所述接口文档,生成文档同步指令。
104.在步骤s360中,发送所述文档同步指令至所述接口管理平台的接口文档导入接口;所述接口文档导入接口用于响应所述文档同步指令,将所述接口文档导入至所述目标同步目录中。
105.在步骤s370中,接收所述接口文档导入接口返回的文档导入结果。
106.在步骤s380中,解析所述文档导入结果,确定已导入所述接口管理平台的接口文档的数量信息。
107.需要说明的是,上述步骤的具体限定可以参见上文对一种接口文档同步方法的具体限定,在此不再赘述。
108.在另一实施例中,电子设备可以通过一款基于swagger框架和接口管理平台的同步工具实现上述一种接口文档同步方法,为了便于本领域技术人员的理解,图4提供了另一实施例中对同步工具的初始化方法的流程图,包括以下步骤。
109.在步骤s410中,通过运行标注启动类(相当于springbootapplication)的主方法来启动程序后,加载自动装备注解(相当于kapienableautoconfiguration)。
110.在步骤s420中,激活环境配置类信息(enableswaggercondition),确定当前业务环境,若当前业务环境满足预设业务环境,则执行步骤s430,若不满足,则同步工具的初始化结束;其中,预设业务环境包括业务测试环境和业务开发环境中的至少一种。
111.在步骤s430,中,加载文档同步配置信息(相当于kapiproperties),读取文档同步配置信息。
112.其中,文档同步配置信息至少包括以下内容:
113.config:controllerscanpath:com.kuaishou.xxx.controller(controller文件的全路径,供同步工具确定本地端的文档扫描目录的路径)
114.datasync:true(datasync用来控制在自动同步的时候,如果已经存在相同的接口名,是否开启数据同名覆盖)
115.projectdesc:工程描述
116.projectname:工程名
117.token:token是接口管理平台的接口文档导入接口提供的参数,用于唯一识别接口管理平台的特定目录,通过该参数指定将接口文档同步到接口管理平台上用于存放接口
文档的文件目录中的父级同步目录下。
118.enableswitch:填true接口管理平台的同步功能生效,false可以强制关闭接口管理平台的同步功能。
119.在步骤s440中,加载部分文档同步配置信息(相当于加载kapiconfiguraiton),完成对预设的接口文档生成程序的初始化(相当于初始化springfox-swagger)。
120.在步骤s450中,加载controller类上的接口注解信息(相当于加载kapiswaggersyncontroller),初始化接口同步路径,完成同步工具初始化。
121.其中,接口注解信息包括:
122.1.@api(tags={"xxx测试接口文档目录"})
123.作用在请求的类上,tags属性对应的是接口文档同步到接口管理平台后,接口管理平台用于存在接口文档的文件目录中的子级同步目录。
124.2.@apioperation(value="获取xxx")
125.作用在请求的方法上,说明方法的用途、作用,value表示方法的中文注释。
126.3.@apiimplicitparams&@apiimplicitparams,
127.作用在请求的方法上,用于注释方法中各个参数代表的意义,如果入参是一个vo(view object,显示视图模型),可以使用@apimodel和@apimodelproperty注解
128.4.@apimodel和@apimodelproperty
129.作用在方法出参上,用于描述方法出参中各个参数的实际意义。
130.如此,完成初始化的同步工具可以执行上述一种接口文档同步方法。
131.应该理解的是,虽然图2-图4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-图4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
132.可以理解的是,本说明书中上述方法的各个实施例之间相同/相似的部分可互相参见,每个实施例重点说明的是与其他实施例的不同之处,相关之处参见其他方法实施例的说明即可。
133.图5是根据一示例性实施例示出的一种接口文档同步装置框图。参照图5,该装置包括接收单元510,确定单元520、读取单元530和同步单元540。
134.接收单元510,被配置为执行接收接口文档同步接口被访问时传入的接口同步参数,并确定所述接口同步参数中的接口标识。
135.确定单元520,被配置为执行根据预加载的文档同步配置信息,确定针对所述接口标识对应接口类型的文档扫描目录。
136.读取单元530,被配置为执行读取在所述文档扫描目录中与所述接口标识对应接口的接口文档;其中,所述接口文档为根据所述接口的接口注解信息生成的;所述接口注解信息为读取所述接口的接口代码确定的。
137.同步单元540,被配置为执行将所述接口文档同步至接口管理平台;所述接口管理
平台用于向用户账户呈现所述接口文档。
138.在一示例性实施例中,所述同步单元,具体被配置为执行获取针对所述接口文档的目标同步目录;所述目标同步目录为所述接口管理平台中用于存放所述接口文档的文件目录;基于所述目标同步目录和所述接口文档,生成文档同步指令;发送所述文档同步指令至所述接口管理平台的接口文档导入接口;所述接口文档导入接口用于响应所述文档同步指令,将所述接口文档导入至所述目标同步目录中。
139.在一示例性实施例中,所述同步单元,具体被配置为执行读取所述接口的接口代码,确定所述接口的同步目录注解信息;解析所述同步目录注解信息,确定针对所述接口文档的子级同步目录,以及,解析所述文档同步配置信息,确定针对所述接口文档的父级同步目录;根据所述父级同步目录和所述子级同步目录,构建所述目标同步目录。
140.在一示例性实施例中,所述装置还包括:解析单元,被配置为执行接收所述接口文档导入接口返回的文档导入结果;解析所述文档导入结果,确定已导入所述接口管理平台的接口文档的数量信息。
141.在一示例性实施例中,所述装置还包括:初始化单元,被配置为执行加载所述文档同步配置信息,对预设的接口文档生成程序进行初始化,得到初始化后的接口文档生成程序;其中,所述初始化后的接口文档生成程序用于读取所述接口的接口代码,确定所述接口的接口注解信息,并根据所述接口注解信息,生成具有预设格式的接口描述文件;还用于将所述接口描述文件作为所述接口对应的接口文档保存至所述文档扫描目录中。
142.在一示例性实施例中,所述初始化单元,具体被配置为执行获取当前业务环境;若所述当前业务环境满足预设业务环境,则执行所述加载所述文档同步配置信息,对预设的接口文档生成程序进行初始化,得到初始化后的接口文档生成程序的步骤;其中,所述预设业务环境包括业务测试环境和业务开发环境中的至少一种。
143.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
144.图6是根据一示例性实施例示出的一种用于执行上述的接口文档同步方法的电子设备600的框图。例如,电子设备600可以为服务器。参照图6,电子设备600包括处理组件620,其进一步包括一个或多个处理器,以及由存储器622所代表的存储器资源,用于存储可由处理组件620的执行的指令,例如应用程序。存储器622中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件620被配置为执行指令,以执行上述方法。
145.电子设备600还可以包括:电源组件624被配置为执行电子设备600的电源管理,有线或无线网络接口626被配置为将电子设备600连接到网络,和输入输出(i/o)接口628。电子设备600可以操作基于存储在存储器622的操作系统,例如window6 6erver,mac o6x,unix,linux,freeb6d或类似。
146.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器622,上述指令可由电子设备600的处理器执行以完成上述方法。存储介质可以是计算机可读存储介质,例如,所述计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。
147.在示例性实施例中,还提供一种计算机程序产品,所述计算机程序产品中包括指
令,上述指令可由电子设备600的处理器执行以完成上述方法。
148.需要说明的,上述的装置、电子设备、计算机可读存储介质、计算机程序产品等根据方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
149.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
150.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1