apidoc 生成Restful web Api文档
在服务器项目开发过程中,总会牵扯到接口文档的设计与编写,之前使用的都是office写一个文档,不够直观。下面介绍一种工具生成Apidoc.,
该工具是Nodejs的模块,请务必在使用前安装好nodejs环境!
一.安装Apidoc
1.安装nmp环境,Windows环境可直接通过http://nodejs.org/下载安装包安装
2.安装后在cmd终端执行npm install apidoc –g如果执行失败跳到步骤3
3.安装npm首先先安装Homebrew在终端ruby -e "$(curl –fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install)"
4.执行成功终端输入brew install node等待一段时间
5.执行成功终端输入npm –v确认是否npm安装成功

6.安装npm成功后执行执行npm install apidoc –g 安装apidoc即可。
二.apidoc使用
1.在项目根目录中创建apidoc.json文件
{
"name": "Apidoc merchant",
"version": "1.0.0",
"description": "智慧式车位锁Apidoc",
"title": "智慧式车位锁Apidoc",
"url" : "http://192.168.2.216:8080",
"sampleUrl": "http://192.168.2.216:8080",
"forceLanguage":"zh-cn",
"template": {
"withCompare": true,
"withGenerator": true
}
2.在对应接口上加上注释:
示例:
/**
* 查找代理Agent
*
* @return
*/ /**
*
* @api {post} /agent/findLi 获取代理列表
* @apiName 获取代理列表
* @apiGroup agent 代理
* @apiVersion 1.0.0
* @apiDescription 获取代理列表
*
* @apiParam {int} currentPage 当前页
* @apiParam {int} pageSize 查询条数
*
* @apiSuccess {int} code 结果码 0:成功 1:失败
* @apiSuccess {Object} msg 消息说明
* @apiSuccessExample Success-Response:
* HTTP/1.1 200 OK
* {
* code:0,
* desc:'',
* data:{}
* }
*
* @apiError All 对应<code>code</code>请求错误
* @apiErrorExample {json} Error-Response:
* HTTP/1.1 200
* {
* code:-1,
* desc:'',
* }
*/
@RequestMapping(value = "/findLi", method = RequestMethod.POST)
@ResponseBody
public BaseReturn<Page<Agent>> findLi(@RequestParam int currentPage, @RequestParam int pageSize, Integer status) { List<Criterion> criterias = new ArrayList<Criterion>();
if (status != null)
criterias.add(Restrictions.eq("status", status));
Page<Agent> page = agentService.findLi(currentPage, pageSize, criterias);
BaseReturn<Page<Agent>> baseReturn = new BaseReturn<Page<Agent>>();
baseReturn.setData(page);
baseReturn.setCode(BaseReturn.SUCCESSFULTAG);
return baseReturn;
}
3.执行终端命令apidoc -i example/ -o doc/执行成功就则会在该目录下生成doc文件。
// 典型用法
apidoc -i api/ -o doc/api [-c ./] -f ".*\.js$"
-i 表示输入,后面是文件夹路径
-o 表示输出,后面是文件夹路径
默认会带上-c,在当前路径下寻找配置文件(apidoc.json),如果找不到则会在package.json中寻找 "apidoc": { }
-f 为文件过滤,后面是正则表达式,示例为只选着js文件
与-f类似,还有一个 -e 的选项,表示要排除的文件/文件夹,也是使用正则表达式
示例:
apidoc -i C:\Users\zhs_0\Desktop\merchant -o C:\Users\zhs_0\Desktop\merchant\src\main\webapp\pages\doc
这样就会在C:\Users\zhs_0\Desktop\merchant\src\main\webapp\pages\doc目录下生成项目的doc文档,点开index.html就会看到如下效果

三.apidoc代码注释
apidoc支持如下关键字
@api {method} path [title]
只有使用@api标注的注释块才会在解析之后生成文档,title会被解析为导航菜单(@apiGroup)下的小菜单
method可以有空格,如{POST GET}
@apiGroup name
分组名称,被解析为导航栏菜单
@apiName name
接口名称,在同一个@apiGroup下,名称相同的@api通过@apiVersion区分,否者后面@api会覆盖前面定义的@api
@apiDescription text
接口描述,支持html语法
@apiVersion verison
接口版本,major.minor.patch的形式
@apiIgnore [hint]
apidoc会忽略使用@apiIgnore标注的接口,hint为描述
@apiSampleRequest url
接口测试地址以供测试,发送请求时,@api method必须为POST/GET等其中一种
@apiDefine name [title] [description]
定义一个注释块(不包含@api),配合@apiUse使用可以引入注释块
在@apiDefine内部不可以使用@apiUse
@apiUse name
引入一个@apiDefine的注释块
@apiParam [(group)] [{type}] [field=defaultValue] [description]
@apiHeader [(group)] [{type}] [field=defaultValue] [description]
@apiError [(group)] [{type}] field [description]
@apiSuccess [(group)] [{type}] field [description]
用法基本类似,分别描述请求参数、头部,响应错误和成功
group表示参数的分组,type表示类型(不能有空格),入参可以定义默认值(不能有空格)
@apiParamExample [{type}] [title] example
@apiHeaderExample [{type}] [title] example
@apiErrorExample [{type}] [title] example
@apiSuccessExample [{type}] [title] example
用法完全一致,但是type表示的是example的语言类型
example书写成什么样就会解析成什么样,所以最好是书写的时候注意格式化,(许多编辑器都有列模式,可以使用列模式快速对代码添加*号)
@apiPermission name
name必须独一无二,描述@api的访问权限,如admin/anyone
详细文档参考http://caixw.oschina.io/apido
apidoc 生成Restful web Api文档的更多相关文章
- 使用apidoc 生成Restful web Api文档
在项目开发过程中,总会牵扯到接口文档的设计与编写,之前使用的都是office工具,写一个文档,总也是不够漂亮和直观.好在git上的开源大神提供了生成文档的工具,so来介绍一下! 该工具是Nodejs的 ...
- 使用apidoc 生成Restful web Api文档——新手问题与解决方法
使用apidoc工具来给项目做接口文档,不仅有合理的源码注释,还可以生成对应的文档.是给源码写备注的一个极佳实践. 工具名称:apiDoc Git地址:https://github.com/apido ...
- SpringBoot入门教程(二十)Swagger2-自动生成RESTful规范API文档
Swagger2 方式,一定会让你有不一样的开发体验:功能丰富 :支持多种注解,自动生成接口文档界面,支持在界面测试API接口功能:及时更新 :开发过程中花一点写注释的时间,就可以及时的更新API文档 ...
- 开发人员的福音:微软、谷歌、Mozilla将他们所有的web API文档放在同一个地方
Tips 原文作者:Liam Tung 原文地址:Developers rejoice: Microsoft, Google, Mozilla are putting all their web A ...
- Node与apidoc的邂逅——NodeJS Restful 的API文档生成
作为后台根据需求文档开发完成接口后,交付给前台(angular vue等)做开发,不可能让前台每个接口调用都去查看你的后台代码一点点查找.前台开发若不懂你的代码呢?让他一个接口一个接口去问你怎么调用, ...
- Swagger2 生成 Spring Boot API 文档
Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.本文主要介绍了在 Spring Boot 添加 Swagger 支持, 生成可自动维护的 A ...
- Api文档生成工具与Api文档的传播(pdf)
点击查看apidoc生成文档demo 1 环境和工具 win10 apidoc:注释生成api文档 wkhtmltopdf:apidoc生成的是html,不适合传播,于是通过wkhtmltopdf将h ...
- Web api 文档以及测试工具配置
第一步: 创建web api 在nuget 上搜索 webapitestclient (包含预发行版) 然后在 /Areas/HelpPage/Views/Help/Api.cshtml 末尾 添加 ...
- web api 文档声明
namespaceHelloWebAPI.Controllers{ usingHelloWebAPI.Models; usingSystem; usingSystem.Coll ...
随机推荐
- Bitmap BitmapData
var sp:Sprite=new Sprite(); sp.graphics.beginFill(0xffccdd); sp.graphics.drawRect(0,0,100,100); sp.g ...
- C语言中的补码与反码(-1的十六进制ffffffff)
我们先举个例子 1个字节的数字7用二进制表示为 0000 0111,最高位为0(0为正数,1为负数) 反码是将正数的所有位都取反,包括最高位 而负数的二进制表示为补码(反码加1),反码只是过渡阶段 ...
- 廖雪峰Java1-3流程控制-3条件判断
1.if条件判断的格式 if (条件) { 代码块 } if (条件) { 代码块1 } else { 代码块2 } if (条件1) { 代码块1 } else if { 代码块2 } else { ...
- jQuery插件制作之全局函数用法实例
原文地址:http://www.jb51.net/article/67056.htm 本文实例讲述了jQuery插件制作之全局函数用法.分享给大家供大家参考.具体分析如下: 1.添加新的全局函数 所谓 ...
- 远程服务器安装mysql数据库
https://www.cnblogs.com/renjidong/p/7047396.html 1.新开的云服务器,需要检测系统是否自带安装mysql # yum list installed | ...
- selector的小箭头去除
selector的小箭头去除 .not-arrow{ -webkit-appearance:none; -moz-appearance:none; appearance:none; /*去掉下拉箭头* ...
- centos7安装zabbix4.2
附zabbixdocker镜像地址 https://hub.docker.com/u/zabbix/ zabbix官方文档 https://www.zabbix.com/cn/download 1.关 ...
- BBC曝光:每天10000步,竟是商家的营销骗局
原文: https://new.qq.com/cmsn/20190112A14JRD00 导语:日本人平均每天行走3500-5000步,于是计步器公司就想,既然这么个数值大部分人都能达到,如果把平均值 ...
- mongodb 的一些基本命令以及 导入、导出,待更新
基本命令参考: https://blog.csdn.net/cckevincyh/article/details/78702674 导入导出参考:https://blog.csdn.net/djy37 ...
- 两种解决方法 PHP Warning: File upload error - unable to create a temporary file in Unknown
原因:上传文件时,没有管理员权限的你不能读取临时文件夹; 解决方法(两种)找到临时文件夹并给当前访问用户所有权限; 方法一: 找到Apache默认的临时文件,步骤如下: 1.找到临时文件夹,一般在C: ...