大家好,我是小码哥~

前几天粉丝群有小伙伴问,有啥好用的API文档工具推荐,无意间发现了一款工具,这里马不停蹄的来给大家分享一下。

ShowDoc一个非常适合团队的在线API文档工具,也支持用docker自建文档服务,不过为了方便演示,我直接用了平台在线服务。官网地址:

https://www.showdoc.com.cn/item/index

可以使用markdown语法来写API文档、数据字典文档、技术文档、在线excel文档。但像我这种资深的懒人程序员,其实更看重的是showdoc的自动化生成文档的特性,它可以从代码注释中自动生成API文档,或者搭配RunApi客户端(类似postman的api调试工具)一边调试接口、一边自动生成文档。

下边从头演示下,来瞅瞅这玩意好用在哪?

初识 ShowDoc

ShowDoc新建项目可选常规的API文档、在线表格、或者单页文档(不支持目录分层),允许对项目文档设置访问密码,自定义域名,这里并不是真正意义上的“域名”,只是在文档服务域名后加了一级目录,例如:

www.showdoc.com.cn/程序员内点事

可以复制现有的项目,或直接导入Postmanswagger的API接口配置Json文件。提供的开放API是自动化生成文档的关键,先记住有api_keyapi_token这两个属性,后边详细讲。

进入项目后点击右上角 + 编辑文档,ShowDoc预置了几种文档模板,也可以把自定义的文档存为模板;支持在线Mock服务,提前定义好接口的数据格式,先提供在线临时接口,这样就可以和前端同步开发,后边无缝切换;还有个简单的API在线测试功能。

在线表格样式很简洁

导出文档有wordMarkdown两种格式。

支持版本控制,能看到每次修改的记录,回滚任意一个版本的修改。

在向别人分享在线文档时,如果不想将整个API目录都暴漏,可以选择进行单页面分享。

看到这感觉showdoc很普通啊,好像没什么特别的地方,上边的这些文档都是需要我们手动书写的,比较繁琐不推荐这么搞,接下来咱们看看如何自动化生成文档。

自动生成文档

showdoc有三种自动生成API文档的方式:

  • 使用Runapi工具自动生成(推荐
  • 使用程序代码注释自动生成
  • 自动生成数据字典
  • 自己写程序调用接口来生成

Runapi工具

Runapi是一个以接口为核心的开发测试工具(可以看做是Postman的精简版)。目前客户端支持winmaclinux平台和在线版 ,包含接口测试、自动流程测试、Mock数据、项目协作等功能。

单纯的RunapiPostman相比优势并不大,而与showdoc配合使用效率比较显著,用runapi测试接口的同时它将自动生成API文档到showdoc,也可共用showdoc的团队管理机制实现多人协作。

Runapi客户端可以创建带调试的API接口文档、或者Markdown格式的文档。

比如我们新建个项目“程序员内点事”,分别建三个接口“点在”、“在看”、“关注”,紧接着快速生成参数和响应结果数据并保存。

点击右上角的文档链接设置访问密码,不填默认是公开的,复制文档链接在浏览器中打开,看到API接口文档已经生成。runapi还有全局参数、环境隔离。其实Postman也支持这样的功能,不过毕竟不是国内产品,网络访问等方面很受限制。

还有一个比较好的地方,Runapi支持接口执行前后的脚本,比如响应数据的断言测试,弹框显示都挺好用的。

代码注释

把接口的信息写在注释里也可以自动生成文档到showdoc,但这种我并不太喜欢,主要是侵入性比较强,让代码的阅读性变的比较差,一坨坨看着很不爽。

 /*** showdoc* @catalog 测试文档/用户相关* @title 用户注册* @description 用户注册的接口* @method post* @url https://www.showdoc.com.cn/home/user/login* @param username 必选 string 用户名  * @param password 必选 string 密码  * @param name 可选 string 用户昵称  * @return {"error_code":0,"data":{"uid":"1","username":"12154545","name":"吴系挂","groupid":2,"reg_time":"1436864169","last_login_time":"0"}}* @return_param groupid int 用户组id* @return_param name string 用户昵称* @remark 这里是备注信息* @number 99*/public Object register(){

这种方式的实现也比较简单,还记得前边的提到的api_keyapi_token这两个属性嘛,现在派上用场了,下边我用windows环境演示。

首先本地要有git环境:

https://npm.taobao.org/mirrors/git-for-windows/v2.17.0.windows.1/Git-2.17.0-64-bit.exe

再下载showdoc官方提供的脚本

https://www.showdoc.cc/script/showdoc_api.sh

修改showdoc_api.sh,替换我们api_keyapi_token变量值,URL如果没搭建自己的文档服务不用改。

showdoc_api.sh放在你的项目目录下,直接双击运行,脚本会自动递归扫描本目录和子目录的所有文本代码文件,并生成API文档。

showdoc_api.sh生成的文档会放进你填写api_token的这个项目里。

生成数据字典

如果我们想直接从数据库字典表生成数据字典文档,showdoc也是支持的,先下载官方提供的脚本

wget https://www.showdoc.cc/script/showdoc_db.sh

修改脚本里的配置,数据库、api_keyapi_token等信息,直接执行后数据库表结构信息同步到showdoc


如下配置的变量名和解释

效果就是如下图这样,生成了数据表字典文档,在一些特定场景下还是很方便的。

开放API

showdoc开放了文档编辑的API,我们可以在代码中调用API创建、编辑文档。这样使用的场景就比较灵活了。

https://www.showdoc.cc/server/api/item/updateByApi

API参数如下,文档内容,可传递markdown格式的文本或者html源码都可以。

测试一下接口组装必要的参数,用简易在线API调试工具发送

{"api_key": "8e52cbad736aa9832b92acc4b34a830e961861279","api_token": "9dcd8333afa7cde63bf84f8f0db5d2b2116079256","page_title": "xiaofu","page_content": "nihao"
}


看到在showdoc对应的项目里已经创建了名字为xiaofu的文档。

说两句

前边说过showdoc现有的功能postman基本都支持,但postman功能过于繁杂不够简洁,加上网络条件等诸多限制,协同办公的效率并不高,而Runapi配合showdoc在某些场景下能够很大程度上提升我们开发交付的效率,所以能自动生成的绝对不手写!

再怎么BB吹嘘都是苍白的,好不好用,适不适合自己,动手搞一下一目了然

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

在我的QQ技术交流群里(技术交流和资源共享,广告勿扰)

可以自助拿走,群号:310357728群里的免费资料都是笔者十多年测试生涯的精华。还有同行大神一起交流技术哦

如果对你有一点点帮助,各位的「点赞」就是小编创作的最大动力,我们下篇文章见

干掉 Postman?测试接口直接生成API文档,这个工具贼好用相关推荐

  1. 干掉 Postman?测试接口直接生成API文档,这个文档工具真香!

    欢迎关注方志朋的博客,回复"666"获面试宝典 实不相瞒我的收藏夹里躺着很多优质的开源项目,我有个爱好平时遇到感兴趣的开源项目都会记录下来,然后有时间在慢慢研究.前几天刚给同事分享 ...

  2. 干掉 Swagger + Postman?测试接口直接生成API文档,这个国产文档工具真香!

    点击上方"芋道源码",选择"设为星标" 管她前浪,还是后浪? 能浪的浪,才是好浪! 每天 10:33 更新文章,每天掉亿点点头发... 源码精品专栏 原创 | ...

  3. 干掉 Postman?测试接口直接生成API文档,这工具真香!

    前几天粉丝群有小伙伴问,有啥好用的API文档工具推荐,无意间发现了一款工具,这里马不停蹄的来给大家分享一下. ShowDoc一个非常适合团队的在线API文档工具,也支持用docker自建文档服务,不过 ...

  4. 干掉 Postman?测试接口直接生成API文档,这个工具我爱了

    前几天粉丝群有小伙伴问,有啥好用的API文档工具推荐,无意间发现了一款工具,这里马不停蹄的来给大家分享一下. ShowDoc一个非常适合团队的在线API文档工具,也支持用docker自建文档服务,不过 ...

  5. 干掉Postman?测试接口直接生成API文档,这工具强烈推荐!

    最近被身边几个做开发的朋友安利了一款国产的 API 开发调试神器,真的有被惊艳到!!!简直不要太好用! 没想到,中国也有了比 Postman 还好用的软件! 这个 API 开发调试神器就是 ApiPo ...

  6. 干掉 Postman?测试接口直接生成 API 文档,这工具真香!

    作者:小 G 来源:GitHubDaily " 阅读本文大概需要 5 分钟. " 前阵子,偶然发现一款国产 API 接口开发调试神器,上手尝鲜之后,真的有被惊艳到,功能齐全,对中文 ...

  7. springfox源码_【开源项目】springfox-bridge:随心所欲地为非restful接口生成API文档...

    一.引言 目前,利用swagger框架为restful接口编写API文档非常流行,在spring web项目中,利用springfox+swagger更是可以通过注解的方式直接进行API文档的生成,这 ...

  8. 【接口文档】Django restful framework中自动生成API文档

    Django restful framework中自动生成API文档 一.Swagger概述 1.引言 当接口开发完成,紧接着需要编写接口文档.传统的接口文档使用Word编写,or一些接口文档管理平台 ...

  9. .NET Core 3.0 使用Nswag生成Api文档和客户端代码

    摘要 在前后端分离.Restful API盛行的年代,完美的接口文档,成了交流的纽带.在项目中引入Swagger (也称为OpenAPI),是种不错的选择,它可以让接口数据可视化.下文将会演示 利用N ...

最新文章

  1. 软件开发生命周期中的设计阶段_BIM咨询在设计阶段包含哪些内容?体现了哪些价值?...
  2. 数学建模——智能优化之遗传算法详解Python代码
  3. L1相对于L2较稀疏的原因
  4. 杭电2013-蟠桃记(C++)
  5. 数据库新增幂等操作_使用数据库唯一键实现事务幂等性
  6. 单线程与多线程的区别
  7. Vigenère密码(洛谷P1079题题解,Java语言描述)
  8. 新图表来袭,FineReport新增热力地图、漏斗图、图表切换新功能
  9. python读取数据库数据、并保存为docx_Python - 爬取博客园某一目录下的随笔 - 保存为docx...
  10. Ansible Privilege Escalation
  11. java+selenium获取整个表格的内容
  12. leetcode isPalindrome (回文数判断)
  13. 渗透测试攻击(二)——wireshark过滤数据包语法详解
  14. 索尼SONY 820E摄像机内置64G存储卡无法识别拆MMC芯片完整恢复数据
  15. JavaEE 启示录
  16. iOS HomeKit Quick Start iOS HomeKit快速入门 Lynda课程中文字幕
  17. Excel VBA Sheet1和Sheets(1)的区别
  18. GCN:图卷积神经网络
  19. 3D点集之间计算转移矩阵,旋转R,转移T,新增缩放s (总结全面)
  20. Unity3d 直升机空战游戏

热门文章

  1. Linux中shell语法和脚本编写
  2. jsp 将html字符串输出html标签(escapeXml)
  3. impala时区设置
  4. android toast乱码
  5. python箱线图_从零开始学Python-matplotlib系列(III):箱线图
  6. 小程序技术未来发展的思考:低代码演进和创新应用
  7. android 定时器
  8. 爬虫入门经典(二十四) | 爬取当当网图书信息并进行数据清洗
  9. VIO深蓝学院第五章PPT以及作业
  10. InSAR在地面沉降监测中的应用及发展前景