apiDoc自动生成api文档
在自定生成api文档方面以前都是使用swagger.json结合swagger工具来生成文档,偶然发现了apidoc这个生成api的工具,发现使用起来比swagger更加简单,下面整理一下使用过程:
1、安装
首先通过npm全局安装apidoc
$ npm install apidoc -g
2、使用
使用的时候最主要是参考官方文档 ,apidoc文档,文档中清晰的记录了怎么使用的过程,最好也要看一下apidoc的github地址,从哪里你可以看到一个简单的example,
下面就是利用github上apidoc的example来作为实例,example的结构如下:
weifandeMacBook-Pro:example weifan$ ls
_apidoc.js apidoc.json example.js footer.md header.md
3、生成api文档
首先我们在执行apidoc命令的目录下,新建一个apiDocs文件,命令如下:
mkdir apiDocs
然后执行生成api文档命令,如下:
$ apidoc -i example/ -o apiDocs/
其中apidoc 参数如下:
- -i
读取用于生成文档的目录,比如src目录 - -o
生成api文档静态页面的目录 - -t
自定义的模板目录,默认使用apiDoc的模板 - -f “.*\.java$”
解析符合正则表达式的文件 - -h
显示帮助信息
在你运行上面命令的时候如果example文件夹下没有apidoc.json这个文件,则会出现一下警告信息:
warn: Please create an apidoc.json configuration file.
info: Done.
说明你没有配置生成api的配置文件(如果没有其实也是可以生成的只不过是默认格式)。
此时你会看到apiDocs文件夹下回有生成的index.html文件,在浏览器中运行这个文件,你就会看到你生成的api文档了。
5、配置 apidoc.json
在执行 apidoc
命令的目录执行创建apidoc.json文件,并加入以下内容:
{
"name": "apidoc-example",
"version": "0.3.0",
"description": "apidoc example project",
"title": "Custom apiDoc browser title",
"url" : "https://api.github.com/v1",
"sampleUrl": "https://api.github.com/v1",
"header": {
"title": "My own header title",
"filename": "header.md"
},
"footer": {
"title": "My own footer title",
"filename": "footer.md"
},
"template": {
"withCompare": true,
"withGenerator": true
}
}
- name
文档内容的最大标题 - version
文档的版本号,一般保持在最新 - description
文档的描述 - title
显示网页的title - url
每个api地址前缀 - sampleUrl
请求示例工具的地址前缀,当有此项时,会出现该工具 - header/footer
文档的头部和尾部- title
头/尾部标题 - filename
头部markdown文件
- title
- template
- withCompare
自动生成版本比较功能的文件,默认true
- withGenerator
生成默认的apidoc版权,默认true
- withCompare
6、apiDoc 注解
下面是apidoc的注解,最主要还是要参照官方文档。
- @api {method} path [title]
method
请求方式: get/post/put…path
User/registertitle
标题 - @apiDescription text
api描述 - @apiError [(group)] [{type}] field [description]
- @apiErrorExample [{type}] [title]
example - @apiExample [{type}] title
example - @apiGroup name
- @apiHeader [(group)] [{type}] [field=defaultValue] [description]
- @apiHeaderExample [{type}] [title]
example - @apiIgnore [hint]
- @apiName name
- @apiParam [(group)] [{type}] [field=defaultValue] [description]
- @apiParamExample [{type}] [title]
example - @apiPermission name
- @apiSampleRequest url
- @apiSuccess [(group)] [{type}] field [description]
- @apiSuccessExample [{type}] [title]
example - @apiUse name
- @apiVersion version
问题
- 无法生成带有历史版本比较功能
必须同时加上@apiVersion
@apiName
@apiGroup
这个三个注解 - @apiName后面不要使用中文介绍,必须要使用英文,不然这个api可能会被隐藏。详见:https://github.com/apidoc/apidoc/issues/431
- 最好不要包含一些特殊字符,特殊字符可能会导致编译有问题
参考
官方文档: http://apidocjs.com
官方示例: https://github.com/apidoc/apidoc/tree/master/example
apiDoc自动生成api文档的更多相关文章
- 使用bee自动生成api文档
beego中的bee工具可以方便的自动生成api文档,基于数据库字段,自动生成golang版基于beego的crud代码,方法如下: 1.进入到gopath目录的src下执行命令: bee api a ...
- 自动生成api文档
vs2010代码注释自动生成api文档 最近做了一些接口,提供其他人调用,要写个api文档,可是我想代码注释已经写了说明,能不能直接把代码注释生成api?于是找到以下方法 环境:vs2010 先下载安 ...
- 试试使用 eolinker 扫描 GitLab 代码注释自动生成 API 文档?
前言: 一般写完代码之后,还要将各类参数注解写入API文档,方便后续进行对接和测试,这个过程通常都很麻烦,如果有工具可以读取代码注释直接生成API文档的话,那会十分方便. 此前一直都是在使用eolin ...
- SpringBoot结合Swagger2自动生成api文档
首先在pom.xml中添加如下依赖,其它web,lombok等依赖自行添加 <dependency> <groupId>io.springfox</groupId> ...
- Spring Boot 项目学习 (四) Spring Boot整合Swagger2自动生成API文档
0 引言 在做服务端开发的时候,难免会涉及到API 接口文档的编写,可以经历过手写API 文档的过程,就会发现,一个自动生成API文档可以提高多少的效率. 以下列举几个手写API 文档的痛点: 文档需 ...
- go实践之swagger自动生成api文档
文章目录 go实践之swagger自动生成api文档 1.安装需要用到的包 2.接口代码支持swagger 3. 生成swagger接口 go实践之swagger自动生成api文档 作为一个后端开发, ...
- Django restful framework中自动生成API文档
自动生成api文档(不管是函数视图还是类视图都能显示) 1.安装rest_framework_swagger库 pip install django-rest-swagger 2.在项目下的 urls ...
- springboot 集成 swagger 自动生成API文档
Swagger是一个规范和完整的框架,用于生成.描述.调用和可视化RESTful风格的Web服务.简单来说,Swagger是一个功能强大的接口管理工具,并且提供了多种编程语言的前后端分离解决方案. S ...
- 【转】Django restful framework中自动生成API文档
转自 https://www.cnblogs.com/sui776265233/p/11350434.html 自动生成api文档(不管是函数视图还是类视图都能显示) 1.安装rest_framewo ...
随机推荐
- JAVA设计模式——第 1 章 策略模式【Strategy Pattern】(转)
刘备要到江东娶老婆了,走之前诸葛亮给赵云(伴郎)三个锦囊妙计,说是按天机拆开解决棘手问题,嘿,还别说,真是解决了大问题,搞到最后是周瑜陪了夫人又折兵呀,那咱们先看看这个场景是什么样子的. 先说这个场景 ...
- Customize Web Sessions List
To customize Fiddler's Web Sessions List, add rules using FiddlerScript to the OnBeforeRequest funct ...
- jvm内存模型及分配
1.什么是jvm?(1)jvm是一种用于计算设备的规范,它是一个虚构出来的机器,是通过在实际的计算机上仿真模拟各种功能实现的.(2)jvm包含一套字节码指令集,一组寄存器,一个栈,一个垃圾回收堆和一个 ...
- ReactNative踩坑日志——使用async/await语法解决网络请求的异步导致的指令执行顺序错乱问题
转载请注明原文地址: ReactNative的fetch是天然的异步请求,因此,如果你在一个代码块中使用了fetch,那么在执行的时候程序不会等待网络响应结束才执行下一条代码,而是会直接按顺序执行完整 ...
- leetcode笔记:Bulls and Cows
一. 题目描写叙述 You are playing the following Bulls and Cows game with your friend: You write down a numbe ...
- [pip]安装和管理python第三方包
使用 ”pip install 包名“ 直接下载安装第三方包 1.在以下地址下载最新的PIP安装文件:http://pypi.python.org/pypi/pip#downloads2.下载Wi ...
- code vs 2639 约会计划
code vs传送门 题目描述 Description cc是个超级帅哥,口才又好,rp极高(这句话似乎降rp),又非常的幽默,所以很多mm都跟他关系不错.然而,最关键的是,cc能够很好的调解各各 ...
- code vs 2597 团伙
题目描述 Description 1920年的芝加哥,出现了一群强盗.如果两个强盗遇上了,那么他们要么是朋友,要么是敌人.而且有一点是肯定的,就是: 我朋友的朋友是我的朋友: 我敌人的敌人也是我的朋友 ...
- 解决:fatal: authentication failed for https
最近使用微软的 VSTS www.visualstudio.com 代码托管后,在linux 环境拉取代码总是验证不成功. 解决办法: Use Git Credential Managers to A ...
- Easyui入门视频教程 第09集---登录完善 图标自定义
目录 ----------------------- Easyui入门视频教程 第09集---登录完善 图标自定义 Easyui入门视频教程 第08集---登录实现 ajax button的使用 ...