api文档生成器apidoc的安装和使用
在开发接口的过程中,需要向外发布相应的接口文档。开始的时候使用word来写文档,时间长了发现有几个问题。
1. 编写不方便。每次新增借口的时候都要复制上一个接口,然后再进行修改,一些相同的部分无法复用,接口多了文档会变的很长,还经常需要调整格式。
2. 发布不方便。文档更新时,需要发给需要的小伙伴。即使用git来进行管理,虽然拉取比较方便,但由于文件格式的问题,也不方便比较两次提交的差异。
由于有这些问题,决定寻找一种更优雅有效的方式来编写文档。经过比较,发现了apidoc,可以比较好的解决上面提到的问题。apidoc采用了一种类似写代码注释的方式来写文档,支持编写多种语言的文档。最后生成的文档以网页的形式发布,方便快捷,便于阅读。下面就来简单介绍一下怎么使用apidoc来写文档。
安装
1. 由于apidoc依赖node.js的包管理工具npm进行安装,所以安装apidoc之前要先安装node.js(npm会在安装node时顺带进行安装)。具体的安装教程可以参考这里。
2. 安装完了npm之后,就可以安装apidoc了。在命令行输入
npm install apidoc -g
就可以进行安装了。安装完成输入
apidoc -h
出现相关的提示帮助信息,说明安装成功了。
使用
1. 在需要生成文档的地方新建一个apidoc.json文件,配置如下
{
"name": "appleFarm",//文档项目名
"title": "appleFarmAPI",//html标题
"description":"appleFarmAPI接口文档",//文档描述
"url" : "https://farm.05948166.com",//公共接口地址
"version": "0.1.0"//文档版本
}
2. 在新建apidoc.json的地方打开命令行输入apidoc即可在本目录下生成doc目录直接访问即可
语法
举个栗子
/**
* @api {get} /articles/:id 根据单个id获取文章信息
* @apiName 根据id获取文章信息
* @apiGroup Articles
*
* @apiParam (params) {String} id 文章id
*
* @apiSuccess {Array} article 返回相应id的文章信息
*
* @apiSuccessExample Success-Response:
* HTTP/1.1 200 OK
* {
* "tile": "文章标题2",
* "date": 1483941498230,
* "author": "classlfz",
* "content": "文章的详细内容"
* }
*
* @apiError (Error 4xx) 404 对应id的文章信息不存在
*
* @apiErrorExample Error-Response:
* HTTP/1.1 404 对应id的文章信息不存在
* {
* "error": err
* }
*/
详细介绍
@api
@api一般是必须编写的(除非你是用了@apiDefine),不然apidoc编译器会忽略这段注释。
/**
* @api {method} path [title]
*/
| 参数 | 描述 |
|---|---|
| method | 请求的方法名称:如GET、POST等等 |
| path | 请求路径(只需要拼写apidoc.json中配置地址的后面部分即可) |
| title(可选) | 一个简短的标题(用于导航跟文档标题) |
@apiGroup
定于api归属的组名,生成的文档会把该api注释归类到该值对应的api组上。
/**
* @apiGroup name
*/
| 参数 | 描述 |
|---|---|
| name | 归属组名称 |
@apiName
@apiName用于定义API文档的一个实例,并用作实例名称 。
/**
* @apiName name
*/
| 参数 | 描述 |
|---|---|
| name | 实例名称 |
@apiParam
@apiParam用于编写API的参数以及参数的解释。
/**
* @apiParam [(group)] [{type}] [field=defaultValue] [description]
*/
| 参数 | 描述 |
|---|---|
| (group) 可选 | 参数归属组名,不填写组名,则默认设为Paramter |
| {type} 可选 | 参数数据类型,如{String}、{Number}、{Array}等等 |
| {type{size}} 可选 | 变量的大小信息 {String{..5}}参数类型为一个字符不超过5的字符串;{String{2..5}}参数为一个字符在2到5之间的字符串; |
| {type=allowedValues} 可选 | 参数允许值 {string=”small”,”huge”}参数只能接受small或者huge的字符串 |
| field 可选 | 参数名称 |
| =defaultValue | 参数默认值 |
| description(可选) | 描述 |
@apiParamExample
@apiParamExample参数举例
/**
* @apiParamExample [{type}] [title]
* example
*/
| 参数 | 描述 |
|---|---|
| {type} 可选 | 请求数据结构 |
| title 可选 | 例子的一个简短的标题 |
| example | 例子的详细信息,可多个例子并存 |
@apiSuccess
请求成功后的返回字段参数
/**
* @apiSuccessExample [{type}] [title] example
*/
| 参数 | 描述 |
|---|---|
| (group) 可选 | 参数归属组名,不填写组名,则默认设为Success 200 |
| {type} 可选 | 返回的数据类型,如{String}、{Number}等等 |
| field | 返回的标示符(返回成功的状态码) |
| description 可选 | 描述 |
@apiSuccessExample
请求成功后返回的字段参数例子
/**
* @apiSuccessExample [{type}] [title] example
*/
| 参数 | 描述 |
|---|---|
| {type} 可选 | 请求数据结构 |
| title 可选 | 例子的一个简短的标题 |
| example | 例子的详细信息,可多个例子并存 |
@apiError & @apiErrorExample
这个的用法跟@apiSuccess、@apiSuccessExample的用法相类似。
api文档生成器apidoc的安装和使用的更多相关文章
- api的mock开源工具;api文档生成器;api的mock工具;阿里系;其他开源
django-rest-framework,即drf的api文档,包括自带的文档和其他三方文档,比如swagger.DRF Docs等 https://www.django-rest-framewor ...
- 第三期分享:一款很好用的api文档生成器
主要用途:生成API的文档 源码链接:https://github.com/tmcw/docbox 最近刚好在看:Trending in open source,在JS语言中,slate一直在周排行上 ...
- 开源的api文档管理系统
api文档 php 在项目中,需要协同开发,所以会写许多API文档给其他同事,以前都是写一个简单的TXT文本或Word文档,口口相传,这种方式比较老土了,所以,需要有个api管理系统专门来管理这些ap ...
- Api文档生成工具与Api文档的传播(pdf)
点击查看apidoc生成文档demo 1 环境和工具 win10 apidoc:注释生成api文档 wkhtmltopdf:apidoc生成的是html,不适合传播,于是通过wkhtmltopdf将h ...
- 第十二节:WebApi自动生成在线Api文档的两种方式
一. WebApi自带生成api文档 1. 说明 通过观察,发现WebApi项目中Area文件夹下有一个HelpPage文件夹,如下图,该文件夹就是WebApi自带的生成Api的方式,如果该文件夹没了 ...
- 使用sphinx快速为你python注释生成API文档
sphinx简介sphinx是一种基于Python的文档工具,它可以令人轻松的撰写出清晰且优美的文档,由Georg Brandl在BSD许可证下开发.新版的Python3文档就是由sphinx生成的, ...
- 在MyEclipse中使用javadoc导出API文档详解
本篇文档介绍如何在MyEclipse中导出javadoc(API)帮助文档,并且使用htmlhelp.exe和jd2chm.exe生成chm文档. 具体步骤如下: 打开MyEclipse,选中想要制作 ...
- Node与apidoc的邂逅——NodeJS Restful 的API文档生成
作为后台根据需求文档开发完成接口后,交付给前台(angular vue等)做开发,不可能让前台每个接口调用都去查看你的后台代码一点点查找.前台开发若不懂你的代码呢?让他一个接口一个接口去问你怎么调用, ...
- [aspnetcore.apidoc]一款很不错的api文档生成工具
AspNetCore.ApiDoc 简单徐速一下为什么选用了aspnetcore.apidoc 而没有选用swagger 最初我们也有在试用swagger,但总是有些感觉,感觉有点不满意,就但从api ...
随机推荐
- 游戏服务器学习笔记 3———— firefly 的代码结构,逻辑
注:以下所有代码都是拿暗黑来举例,由于本人能力有限很多地方还没有看透彻,所以建议大家只是参考.有不对的地方非常欢迎指正. 一.结构 系统启动命令是,python statmaster.py,启 ...
- 学了Python可以做什么工作
学了Python可以做什么工作 用 Python 写爬虫 据我所知很多初学 Python 的人都是使用它编写爬虫程序.小到抓取一个小黄图网站,大到一个互联网公司的商业应用.通过 Python 入门爬虫 ...
- 反编译获取线上任何微信小程序源码(转)
看到人家上线的小程序的效果,纯靠推测,部分效果在绞尽脑汁后能做出大致的实现,但是有些细节,费劲全力都没能做出来.很想一窥源码?查看究竟?看看大厂的前端大神们是如何规避了小程序的各种奇葩的坑?那么赶紧来 ...
- 如何启动、关闭和设置ubuntu防火墙
如何启动.关闭和设置ubuntu防火墙 引自:http://www.cnblogs.com/jiangyao/archive/2010/05/19/1738909.html 就这句话就够了,下面的可以 ...
- [SCOI2011]飞镖[数学模拟]
2335: [SCOI2011]飞镖 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 482 Solved: 152[Submit][Status][ ...
- 剑指offer题目记录
1.如下为类型CMyString的声明,请为该类型添加赋值运算符函数. class CMyString { public: CMyString(char* pData = NULL); CMyStri ...
- CentOS 6.4 php环境配置以及安装wordpress
1. nginx php-rpm 包升级 sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6- ...
- 分布式文件系统FastDFS架构剖析
ps.本文来自于网络 一.什么是FastDfs FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载 ...
- Java虚拟机四 常用Java虚拟机参数
主要涉及的知识点: 1.跟踪Java虚拟机的垃圾回收和类加载等信息: 2.配置Java虚拟机的堆空间: 3.配置永久区和Java栈. 4.学习虚拟机的服务器和客户端模式. 1.1 跟踪垃圾回收 Jav ...
- layer.load()加载层如何加入文字描述
https://fly.layui.com/jie/3586/ https://www.layui.com/doc/modules/layer.html#layer.load //loading层va ...