【技术实现步骤摘要】
一种基于python与正则表达式的API文档自动生成方法及系统
本专利技术涉及python正则表达式文本匹配
,具体地说是一种基于python与正则表达式的API文档自动生成方法及系统。
技术介绍
后端项目在开发完成后,需要为接口编写API文档说明,方便API调用者查阅。不同企业或个人有不同的文档编写方式,可以使用showdoc网站编写,也可以直接编写成markdown文件放置git远程仓库中。可是无论哪种方式,当项目API数量很多时,编写API文档都是件非常耗时耗力的问题。API文档存在一个共同特点:每条API都会存在API标题、APIURL、API描述、API请求方式、请求参数、响应参数、请求示例、响应示例等共同属性,只是属性值不同。这些共同属性中,API标题、APIURL、API描述、API请求方式都是可被正则表达式方便匹配的文本形式,称为可匹配属性;请求参数、响应参数属性一般情况下是表格的形式,示例等属性一般是json格式,这些属性内容复杂无规律,可匹配性不高,称为不可匹配属性。将可匹配属性值统一放置于概览文件中。故如何利用可匹配属性和不可匹配属性自动生成API文档,实现后端项目开发完成后编写大规模API文档省时省力,减少大量不必要的重复工作是目前现有技术中亟待解决的问题。专利号为CN107133079B的专利文献公开了一种基于问题报告的软件语义摘要自动生成方法,先构建开源软件信息数据库;然后获取项目托管社区中的问题报告数据和代码变更记录数据,并将之存储在数据库的问题报告数据表和 ...
【技术保护点】
1.一种基于python与正则表达式的API文档自动生成方法,其特征在于,该方法是通过识别匹配概览文件中的可匹配属性值,填充API模块,自动生成API文档,文档中可匹配属性及值已自动生成,不可匹配属性自动生成值为空,值留待人工填充;具体如下:/nS1、准备概览文件,写入可匹配属性值;/nS2、准备API模板,对应概览文件的可匹配属性值,在可匹配属性位置放置python占位符,留待填充;/nS3、通过识别匹配模块打开概览文件,读取并匹配一行数据,放置内存中;/nS4、识别匹配模块将内存中数据填充API模板,将该条API详情放入内存中;/nS5、判断API文档文件是否存在:/n①、若不存在,则新建;/n②、若存在,则将步骤S4内存中的填充好的API详情写入API文档中;/nS6、重复步骤S3到步骤S5的操作直到概览文件数据读取完成,即生成API文档。/n
【技术特征摘要】
1.一种基于python与正则表达式的API文档自动生成方法,其特征在于,该方法是通过识别匹配概览文件中的可匹配属性值,填充API模块,自动生成API文档,文档中可匹配属性及值已自动生成,不可匹配属性自动生成值为空,值留待人工填充;具体如下:
S1、准备概览文件,写入可匹配属性值;
S2、准备API模板,对应概览文件的可匹配属性值,在可匹配属性位置放置python占位符,留待填充;
S3、通过识别匹配模块打开概览文件,读取并匹配一行数据,放置内存中;
S4、识别匹配模块将内存中数据填充API模板,将该条API详情放入内存中;
S5、判断API文档文件是否存在:
①、若不存在,则新建;
②、若存在,则将步骤S4内存中的填充好的API详情写入API文档中;
S6、重复步骤S3到步骤S5的操作直到概览文件数据读取完成,即生成API文档。
2.根据权利要求1所述的基于python与正则表达式的API文档自动生成方法,其特征在于,所述步骤S6中生成API文档包括生成全部API文档和生成部分API文档。
3.根据权利要求1所述的基于python与正则表达式的API文档自动生成方法,其特征在于,所述概览文件为API文档的目录概览,概览文件中包含API中可匹配的属性值,起到目录索引的作用,方便API详情查阅。
4.根据权利要求1或2或3所述的基于python与正则表达式的API文档自动生成方法,其特征在于,所述概览文件为markdown格式或文本形式,概览文件为markdown格式时能够被识别匹配模块匹配属性值,通过链接跳转的方式查阅API文档详细内容;markdown格式为文本形式时仅能够被识别匹配模块匹配属性值,无法起到链接跳转的作用。
5.根据权利要求1所述的基于python与正则表达式的API文档自动生成方法,其特征在于,所述API模板用于定义API的公共格式,使用python占位符放置于API可匹配的属性值位置,填充匹配数据;其中,API模板能够自由定义,提高了API文档格式的丰富性。
6.根据权利要求1所述的基于python与正则表达式的API文档自动生成方法,其特征在于,所述识别匹配模块由python语言编写,核心内容为正则表达式;识别匹配模块的工作过程具体如下:
(1)、识别匹配模块打开准备好的概览文件;
(2)、识别匹配模块读取并识别匹配每条API的属性值放入内存;
(3)、将内存中的属性值填充API模板中对应的占位符,再将该条填充好的API模板写入API文档中,并判断API文档是否存在:
①、若存在,则写入;
②、若不存在,则新建;
(4)、循环重复步骤(1)到步骤(3),直到概览文件读取完成,即输出完整的API文档。
7.根据权利要求2所述的基于pyth...
【专利技术属性】
技术研发人员:姜昱鹏,徐士强,宋亚萍,
申请(专利权)人:山东汇贸电子口岸有限公司,
类型:发明
国别省市:山东;37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。