CN107423105A - 一种接口文档的自动生成方法 - Google Patents
一种接口文档的自动生成方法 Download PDFInfo
- Publication number
- CN107423105A CN107423105A CN201710463853.2A CN201710463853A CN107423105A CN 107423105 A CN107423105 A CN 107423105A CN 201710463853 A CN201710463853 A CN 201710463853A CN 107423105 A CN107423105 A CN 107423105A
- Authority
- CN
- China
- Prior art keywords
- parameter
- interface document
- simulation
- generation method
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
- G06F8/24—Object-oriented
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
Abstract
本发明涉及一种接口文档的自动生成方法,所述方法包括下列步骤:生成模拟请求信息;根据生成的模拟请求信息,向浏览器进行模拟请求,并收集浏览器的返回结果;根据浏览器的返回结果,自动生成接口文档。与现有技术相比,本发明具有降低开发人员编写接口文档的时间、自动化程度高以及实现方便等优点。
Description
技术领域
本发明涉及接口开发领域,尤其是涉及一种接口文档的自动生成方法。
背景技术
在接口开发中不仅要写好接口,同时还要提供完善的接口文档,在原有的接口管理中,需要有大量的接口文件编辑工作,开发人员每个接口都要按照规范编写接口文档,大大浪费了开发人员的开发时间。现有的一些接口文档的自动生成工具,要求开发人员在代码的注释中,加入大量注释文档,然后再提取出来,这样也增加了开发人员在接口开发过程中的工作量。
发明内容
本发明的目的是针对上述问题提供一种接口文档的自动生成方法。
本发明的目的可以通过以下技术方案来实现:
一种接口文档的自动生成方法,所述方法包括下列步骤:
1)生成模拟请求信息;
2)根据步骤1)生成的模拟请求信息,向浏览器进行模拟请求,并收集浏览器的返回结果;
3)根据浏览器的返回结果,自动生成接口文档。
所述生成模拟请求信息包括自动抓取模拟请求信息或手动编写模拟请求信息。
所述自动抓取模拟请求信息具体为:
11)在代理层级上对所有用户的请求进行抓取;
12)根据步骤11)抓取的结果进行分析,得到请求地址和请求参数,作为模拟请求信息。
所述步骤3)具体为:
31)对步骤2)中的返回结果进行分解,得到接口文档的相关数据;
32)根据步骤31)得到的相关数据进行分析,得到参数与参数含义的对应关系;
33)根据步骤22)得到的参数与参数含义的对应关系,按照接口文档的规范格式,生成接口文档。
所述步骤32)具体为:
321)对相关数据进行解包;
322)根据解包后的结果,判断参数是否有相匹配的参数解释,若是则进入323),若否则进入324);
323)将参数相匹配的参数解释作为参数含义,得到参数与参数含义的对应关系;
324)将空集作为参数的参数含义,得到参数与参数含义的对应关系。
所述解包后的结果包括参数名称、参数解释、参数类型和参数之间的关系。
所述步骤321)还包括:对解包后的结果,过滤其中相同的参数。
所述方法还包括:提示开发人员补充接口文档中的空缺项。
与现有技术相比,本发明具有以下有益效果:
(1)由于现有的接口基本都是采用json格式返回值,较为规范,因而开发人员在接口的编写过程中,会对绝大部分的参数,使用相同的参数名,因而返回值的名称也就对应了参数的解释,本发明利用了接口编写的这一特点,通过向浏览器发送模拟请求信息来获得返回结果,从返回结果中提取参数含义从而自动生成接口文档,这种生成方式自动化程度高,且无需开发人员在编写过程中的注释即可实现,实现方式简单且实用性能强。
(2)在生成模拟请求信息时,一方面可以在代理层上自动抓取模拟请求信息,另一方面也可以手动编写模拟请求信息,在实际应用过程中,可以二者之间相互配合,保证请求信息的全面,从而使得获得的模拟请求的返回结果较为全面,从而可以得到绝大部分参数的对应解释。
(3)在得到返回信息后,通过将其解包并提取参数名称以及对应的参数解释,从而得到参数和对应的参数含义,在找不到对应的参数解释时,则将空集作为参数的含义,在后续过程中提醒开发人员进行补充,这种方式简单且对计算能力的要求不高,因而可以大范围使用。
(4)对解包后的结果,首先会过滤其中相同的参数,减少了后续的工作量,提高了自动生成的速率。
(5)在自动生成接口文档后提示用户补充接口文档中的空缺项,保证了接口文档的完整,准确程度高。
(6)该自动生成接口文档的方法并非是以代码为依据,因而可以实现代码与接口文档的隔离,即无需根据代码的改变而返回对接口文档进行修改,只需在浏览器中进行模拟请求即可实现对接口文档的更新。
附图说明
图1为本发明的方法流程图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,本实施例提出了一种接口文档的自动生成方法,包括下列步骤:
1)生成模拟请求信息(包括自动抓取模拟请求信息或手动编写模拟请求信息),其中自动抓取模拟请求信息的过程为:
11)在代理层级上对所有用户的请求进行抓取;
12)根据步骤11)抓取的结果进行分析,得到请求地址和请求参数,作为模拟请求信息;
2)根据步骤1)生成的模拟请求信息,向浏览器进行模拟请求,并收集浏览器的返回结果;
3)根据浏览器的返回结果,自动生成接口文档,具体为:
31)对步骤2)中的返回结果进行分解,得到接口文档的相关数据;
32)根据步骤31)得到的相关数据进行分析,得到参数与参数含义的对应关系:
321)对相关数据进行解包,对解包后的结果,过滤其中相同的参数;
322)根据解包后的结果(包括参数名称、参数解释、参数类型和参数之间的关系),判断参数是否有相匹配的参数解释,若是则进入323),若否则进入324);
323)将参数相匹配的参数解释作为参数含义,得到参数与参数含义的对应关系;
324)将空集作为参数的参数含义,得到参数与参数含义的对应关系;
33)根据步骤22)得到的参数与参数含义的对应关系,按照接口文档的规范格式,生成接口文档。
在上述步骤结束后,可以提示开发人员补充接口文档中的空缺项。
根据上述步骤进行的接口文档自动生成过程如下:首先进行请求数据收集,可以自动抓包,获取到请求的具体信息,分析请求数据,对请求的具体信息分析,得到请求的地址,请求参数,以及其他的请求必要信息;也可以自己手动写入请求信息,代码中自动在请求时对信息进行分析处理。得到请求地址,参数。继而进行返回数据收集:通过收集的请求参数,进行模拟浏览器请求,然后获取到返回的数据。针对返回的数据进行解包分析,得到不同数据的关系,值类型,参数名,过滤相同的数据信息。最终执行入库操作,针对整理好的数据信息,按照要求存储在数据库中。同时对已经认识的参数名自动写入注释解释,方便接口接入人员的查阅。上述方法只需简单提供url和参数就能完整的生成文档,在具体操作时下载脚本文件,将需要生成文档的url,拼接好,可以在浏览器中先测试下能否返回正常的数据,没有问题则写在手动读取信息的文件中,接着检查配置文件的数据库配置信息是否正常,没问题则运行入口文件,将会自动生成文档,同时提供文档修改地址,可以自行优化。这样一个文档就算编辑完毕再进行简单的修改就能使用,相对于之前文档一个一个手动录入,时间由原本的30分钟一个接口文档,压缩为5分钟之内就能完成,节约时间将近5倍。
Claims (8)
1.一种接口文档的自动生成方法,其特征在于,所述方法包括下列步骤:
1)生成模拟请求信息;
2)根据步骤1)生成的模拟请求信息,向浏览器进行模拟请求,并收集浏览器的返回结果;
3)根据浏览器的返回结果,自动生成接口文档。
2.根据权利要求1所述的接口文档的自动生成方法,其特征在于,所述生成模拟请求信息包括自动抓取模拟请求信息或手动编写模拟请求信息。
3.根据权利要求2所述的接口文档的自动生成方法,其特征在于,所述自动抓取模拟请求信息具体为:
11)在代理层级上对所有用户的请求进行抓取;
12)根据步骤11)抓取的结果进行分析,得到请求地址和请求参数,作为模拟请求信息。
4.根据权利要求1所述的接口文档的自动生成方法,其特征在于,所述步骤3)具体为:
31)对步骤2)中的返回结果进行分解,得到接口文档的相关数据;
32)根据步骤31)得到的相关数据进行分析,得到参数与参数含义的对应关系;
33)根据步骤22)得到的参数与参数含义的对应关系,按照接口文档的规范格式,生成接口文档。
5.根据权利要求4所述的接口文档的自动生成方法,其特征在于,所述步骤32)具体为:
321)对相关数据进行解包;
322)根据解包后的结果,判断参数是否有相匹配的参数解释,若是则进入323),若否则进入324);
323)将参数相匹配的参数解释作为参数含义,得到参数与参数含义的对应关系;
324)将空集作为参数的参数含义,得到参数与参数含义的对应关系。
6.根据权利要求5所述的接口文档的自动生成方法,其特征在于,所述解包后的结果包括参数名称、参数解释、参数类型和参数之间的关系。
7.根据权利要求5所述的接口文档的自动生成方法,其特征在于,所述步骤321)还包括:对解包后的结果,过滤其中相同的参数。
8.根据权利要求1所述的接口文档的自动生成方法,其特征在于,所述方法还包括:提示开发人员补充接口文档中的空缺项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710463853.2A CN107423105A (zh) | 2017-06-19 | 2017-06-19 | 一种接口文档的自动生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710463853.2A CN107423105A (zh) | 2017-06-19 | 2017-06-19 | 一种接口文档的自动生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107423105A true CN107423105A (zh) | 2017-12-01 |
Family
ID=60428077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710463853.2A Pending CN107423105A (zh) | 2017-06-19 | 2017-06-19 | 一种接口文档的自动生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107423105A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959076A (zh) * | 2018-06-25 | 2018-12-07 | 浙江网新恒天软件有限公司 | 一种api在线调试方法 |
CN110795084A (zh) * | 2019-11-01 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 生成接口描述文件的方法、装置、设备及可读存储介质 |
CN112433753A (zh) * | 2020-11-25 | 2021-03-02 | 平安普惠企业管理有限公司 | 基于参数信息的接口文档生成方法、装置、设备和介质 |
CN114356404A (zh) * | 2022-01-07 | 2022-04-15 | 北京京东方健康科技有限公司 | 接口文档生成方法、系统和计算机可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327454A1 (en) * | 2008-06-30 | 2009-12-31 | Canon Kabushiki Kaisha | Service flow processing apparatus and method |
CN103049271A (zh) * | 2012-12-27 | 2013-04-17 | 微梦创科网络科技(中国)有限公司 | 自动生成api接口的描述文档的方法和装置 |
CN103777928A (zh) * | 2012-10-17 | 2014-05-07 | 神州数码融信软件有限公司 | 一种用作银行前台操作界面的图形前端系统 |
CN104375814A (zh) * | 2013-08-14 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 接口文档的生成方法及装置 |
CN104484216A (zh) * | 2014-12-29 | 2015-04-01 | 广州唯品会网络技术有限公司 | 服务接口文档和在线测试工具生成方法、装置 |
CN104954363A (zh) * | 2015-04-30 | 2015-09-30 | 北京嘀嘀无限科技发展有限公司 | 用于生成接口文档的方法和装置 |
-
2017
- 2017-06-19 CN CN201710463853.2A patent/CN107423105A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327454A1 (en) * | 2008-06-30 | 2009-12-31 | Canon Kabushiki Kaisha | Service flow processing apparatus and method |
CN103777928A (zh) * | 2012-10-17 | 2014-05-07 | 神州数码融信软件有限公司 | 一种用作银行前台操作界面的图形前端系统 |
CN103049271A (zh) * | 2012-12-27 | 2013-04-17 | 微梦创科网络科技(中国)有限公司 | 自动生成api接口的描述文档的方法和装置 |
CN104375814A (zh) * | 2013-08-14 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 接口文档的生成方法及装置 |
CN104484216A (zh) * | 2014-12-29 | 2015-04-01 | 广州唯品会网络技术有限公司 | 服务接口文档和在线测试工具生成方法、装置 |
CN104954363A (zh) * | 2015-04-30 | 2015-09-30 | 北京嘀嘀无限科技发展有限公司 | 用于生成接口文档的方法和装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959076A (zh) * | 2018-06-25 | 2018-12-07 | 浙江网新恒天软件有限公司 | 一种api在线调试方法 |
CN110795084A (zh) * | 2019-11-01 | 2020-02-14 | 腾讯科技(深圳)有限公司 | 生成接口描述文件的方法、装置、设备及可读存储介质 |
CN110795084B (zh) * | 2019-11-01 | 2021-08-27 | 腾讯科技(深圳)有限公司 | 生成接口描述文件的方法、装置、设备及可读存储介质 |
CN112433753A (zh) * | 2020-11-25 | 2021-03-02 | 平安普惠企业管理有限公司 | 基于参数信息的接口文档生成方法、装置、设备和介质 |
CN114356404A (zh) * | 2022-01-07 | 2022-04-15 | 北京京东方健康科技有限公司 | 接口文档生成方法、系统和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739766B (zh) | 一种快速搭建fpga数字仿真模型的系统及方法 | |
CN107423105A (zh) | 一种接口文档的自动生成方法 | |
CN104809056B (zh) | 一种接口测试代码的生成方法和装置 | |
CN110096434A (zh) | 一种接口测试方法及装置 | |
CN104794048B (zh) | 一种ui自动化测试方法和系统 | |
CN108600311B (zh) | 客户端模拟接口数据的方法及装置 | |
CN107844424A (zh) | 基于模型的测试系统及方法 | |
CN104778033B (zh) | 一种积木式软件的构建方法和装置 | |
CN104158836A (zh) | 一种通过数据渲染移动应用界面的方法 | |
CN103744787A (zh) | 一种手机自动化测试方法 | |
CN106254145A (zh) | 网络请求跟踪处理方法和装置 | |
CN107092535A (zh) | 用于测试接口的数据存储的方法及设备 | |
CN106230809B (zh) | 一种基于url的移动互联网舆情监测方法及系统 | |
CN109634570A (zh) | 前后端集成开发方法、装置、设备及计算机可读存储介质 | |
CN104750463B (zh) | 一种插件开发方法及系统 | |
CN105512276B (zh) | 一种构建垃圾文件的方法、装置及电子设备 | |
CN112700083A (zh) | 构建资源综合利用和服务指数指标体系场景的方法及装置 | |
CN117667702A (zh) | 基于知识图谱的软件测试方法、装置、设备和存储介质 | |
CN103595742B (zh) | 调试网页css的方法及装置 | |
CN107807844A (zh) | 交通测试场景的生成方法、装置及计算机可读存储介质 | |
CN106371994B (zh) | 基于自然语言处理的动态移动app测试方法 | |
CN104899042A (zh) | 一种嵌入式机器视觉检测程序开发方法及系统 | |
CN106919374A (zh) | 一种脚本生成方法和装置 | |
CN102609571A (zh) | 一种自动化ip验证平台 | |
CN114661576B (zh) | 一种基于统一接口驱动的三维cad软件测试方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171201 |