干掉 Postman?测试接口直接生成API文档,这个工具贼好用
大家好,我是小富~
前几天粉丝群有小伙伴问,有啥好用的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/程序员内点事
可以复制现有的项目,或直接导入Postman
、swagger
的API接口配置Json文件。提供的开放API是自动化生成文档的关键,先记住有api_key
、api_token
这两个属性,后边详细讲。
进入项目后点击右上角 + 编辑文档,ShowDoc
预置了几种文档模板,也可以把自定义的文档存为模板;支持在线Mock
服务,提前定义好接口的数据格式,先提供在线临时接口,这样就可以和前端同步开发,后边无缝切换;还有个简单的API在线测试功能。
在线表格样式很简洁
导出文档有word
、Markdown
两种格式。
支持版本控制,能看到每次修改的记录,回滚任意一个版本的修改。
在向别人分享在线文档时,如果不想将整个API目录都暴漏,可以选择进行单页面分享。
看到这感觉showdoc
很普通啊,好像没什么特别的地方,上边的这些文档都是需要我们手动书写的,比较繁琐不推荐这么搞,接下来咱们看看如何自动化生成文档。
自动生成文档
showdoc
有三种自动生成API文档的方式:
- 使用Runapi工具自动生成(推荐)
- 使用程序代码注释自动生成
- 自动生成数据字典
- 自己写程序调用接口来生成
Runapi工具
Runapi
是一个以接口为核心的开发测试工具(可以看做是Postman
的精简版)。目前客户端支持win
、mac
、linux
平台和在线版 ,包含接口测试、自动流程测试、Mock数据、项目协作等功能。
单纯的Runapi
和Postman
相比优势并不大,而与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_key
、api_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_key
和api_token
变量值,URL如果没搭建自己的文档服务不用改。
将showdoc_api.sh
放在你的项目目录下,直接双击运行,脚本会自动递归扫描本目录和子目录的所有文本代码文件,并生成API文档。
showdoc_api.sh
生成的文档会放进你填写api_token
的这个项目里。
生成数据字典
如果我们想直接从数据库字典表生成数据字典文档,showdoc
也是支持的,先下载官方提供的脚本
wget https://www.showdoc.cc/script/showdoc_db.sh
修改脚本里的配置,数据库、api_key
、api_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吹嘘都是苍白的,好不好用,适不适合自己,动手搞一下一目了然
我是小富,下期见~
整理了几百本各类技术电子书,有需要的同学自取。技术群快满了,想进的同学可以加我好友,和大佬们一起吹吹技术。
干掉 Postman?测试接口直接生成API文档,这个工具贼好用的更多相关文章
- 干掉 Postman?测试接口直接生成API文档,ApiPost真香!
实不相瞒我的收藏夹里躺着很多优质的开发工具,我有个爱好平时遇到感兴趣的开发工具都会记录下来,然后有时间在慢慢研究.前几天刚给同事分享一款非常好用的API文档工具,真的被惊艳到了,粉丝朋友们也感受一下吧 ...
- SpringBoot+rest接口+swagger2生成API文档+validator+mybatis+aop+国际化
代码地址:JillWen_SpringBootDemo mybatis 1. 添加依赖: <dependency> <groupId>org.mybatis.spring.bo ...
- WisdomTool REST Client 下载 测试请求,生成api文档
https://github.com/Wisdom-Projects/rest-client
- GhostDoc:生成.NET API文档的工具 (帮忙文档)
在 Sandcastle:生成.NET API文档的工具 (帮忙文档) 后提供另一个生成API文档的工具. 1) 准备工作 安装GhostDoc Proc. 收费的哦.... 这个工具的优势是不像 ...
- ASP.NET Core 3.0 WebApi中使用Swagger生成API文档简介
参考地址,官网:https://docs.microsoft.com/zh-cn/aspnet/core/tutorials/getting-started-with-swashbuckle?view ...
- 试试使用 eolinker 扫描 GitLab 代码注释自动生成 API 文档?
前言: 一般写完代码之后,还要将各类参数注解写入API文档,方便后续进行对接和测试,这个过程通常都很麻烦,如果有工具可以读取代码注释直接生成API文档的话,那会十分方便. 此前一直都是在使用eolin ...
- 如何利用showdoc自动生成API文档
介绍 showdoc是一个适合IT团队的文档工具,阅读本文前需要对showdoc有基本了解 .基本介绍可看:https://www.showdoc.cc/help 对于写API文档这件事,虽然说文本编 ...
- Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档
0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...
- .NET Core 3.0 使用Nswag生成Api文档和客户端代码
摘要 在前后端分离.Restful API盛行的年代,完美的接口文档,成了交流的纽带.在项目中引入Swagger (也称为OpenAPI),是种不错的选择,它可以让接口数据可视化.下文将会演示 利用N ...
随机推荐
- 重新整理 .net core 实践篇—————配置系统之间谍[八](文件监控)
前言 前文提及到了当我们的配置文件修改了,那么从 configurationRoot 在此读取会读取到新的数据,本文进行扩展,并从源码方面简单介绍一下,下面内容和前面几节息息相关. 正文 先看一下,如 ...
- Python+Selenium+Appium+API学习使用过的命令
adb devices 查看连接电脑的手机设备 weditor 启动uiautomatorviewer2元素定位工具 以下2个命令作用一样 adb shell dumpsys activity | f ...
- Vue中的三种Watcher
Vue中的三种Watcher Vue可以说存在三种watcher,第一种是在定义data函数时定义数据的render watcher:第二种是computed watcher,是computed函数在 ...
- AI推理与Compiler
AI推理与Compiler AI芯片编译器能加深对AI的理解, AI芯片编译器不光涉及编译器知识,还涉及AI芯片架构和并行计算如OpenCL/Cuda等.如果从深度学习平台获得IR输入,还需要了解深度 ...
- NVIDIA GPU自动调度神经网络
NVIDIA GPU自动调度神经网络 对特定设备和工作负载进行自动调整对于获得最佳性能至关重要.这是有关如何使用自动调度器为NVIDIA GPU调整整个神经网络. 为了自动调整神经网络,将网络划分为小 ...
- C/C++语言编程的隐患!
C/C++语言编程的隐患! 本文将带您了解一些良好的和内存相关的编码实践,以将内存错误保持在控制范围内.内存错误是 C 和 C++ 编程的祸根:它们很普遍,认识其严重性已有二十多年,但始终没有彻底解决 ...
- ng : 无法加载文件 C:\Users\szz\AppData\Roaming\npm\ng.ps1,因为在此系统上禁止运行脚本的解决方案
当安装好Angular CLI后想要查看该版本时在终端键入: ng version 后出现下图的错误提示 解决方案: 在win10 系统中有一个搜索框 输入 Windos PowerShell (一定 ...
- 深入理解java虚拟机笔记Chapter12
(本节笔记的线程收录在线程/并发相关的笔记中,未在此处提及) Java内存模型 Java 内存模型主要由以下三部分构成:1 个主内存.n 个线程.n 个工作内存(与线程一一对应) 主内存与工作内存 J ...
- 【NX二次开发】获取片体的边UF_MODL_ask_body_boundaries()
获取片体的边UF_MODL_ask_body_boundaries(),如果输入实体,则获取的片体的边的数量为0. 源码: #include "Text.h" extern Dll ...
- SpringBoot 自动配置原理,翻源码看一下
初始化一个Springboot项目,在主启动类会有这么一个注解:@SpringBootApplication,自动装配的秘密全在主启动类这个注解里面了 点进去一层会发现有三个子注解组成,分别是 @ ...