转载请标明出处:

原文首发于:https://www.fangzhipeng.com/springboot/2017/07/11/springboot-apidoc/

本文出自方志朋的博客

首先声明下,apidoc是基于注释来生成文档的,它不基于任何框架,而且支持大多数编程语言,为了springboot系列的完整性,所以标了个题。

一、apidoc简介

apidoc通过在你代码的注释来生成api文档的。它对代码没有侵入性,只需要你写好相关的注释即可,并且它仅通过写简单的配置就可以生成高颜值的api接口页面。它基于node.js,所以你需要安装node.js环境。node.js安装,点击这里。这里就不介绍。

二、准备工作

安装完node.js安装api.doc,它的项目源码:https://github.com/apidoc/apidoc

通过命令安装:

npm install apidoc -g

三、注释怎么写

  • @api
@api {method} path [title]

method:请求方法,
path:请求路径
title(可选):标题
  • @apiDescription
@apiDescription text
text说明
  • @apiError
@apiError [(group)] [{type}] field [description]

(group)(可选):参数将以这个名称分组,不设置的话,默认是Error 4xx
{type}(可选):返回值类型,例如:{Boolean}, {Number}, {String}, {Object}, {String[]}
field:返回值字段名称
descriptionoptional(可选):返回值字段说明
  • @apiGroup
@apiGroup name
name:组名称,也是导航的标题

更多注释,参见官方文档:http://apidocjs.com/#params

四、写给栗子

首先写配置文件

在项目的主目录新建一个apidoc.json文件:

{
"name": "example",
"version": "0.1.0",
"description": "A basic apiDoc example"
}

更多配置参考:http://apidocjs.com/#configuration

写个注释:


/**
* @api {POST} /register 注册用户
* @apiGroup Users
* @apiVersion 0.0.1
* @apiDescription 用于注册用户
* @apiParam {String} account 用户账户名
* @apiParam {String} password 密码
* @apiParam {String} mobile 手机号
* @apiParam {int} vip = 0 是否注册Vip身份 0 普通用户 1 Vip用户
* @apiParam {String} [recommend] 邀请码
* @apiParamExample {json} 请求样例:
* ?account=sodlinken&password=11223344&mobile=13739554137&vip=0&recommend=
* @apiSuccess (200) {String} msg 信息
* @apiSuccess (200) {int} code 0 代表无错误 1代表有错误
* @apiSuccessExample {json} 返回样例:
* {"code":"0","msg":"注册成功"}
*/

用apidoc命令生成文档界面

先cd到工程的外层目录,并在外层目建个输出文档的目录,我建的是docapi。

输命令:

apidoc -i chapter4/ -o apidoc/

-i 输入目录 -o 输出目录

chapter4是我的工程名。

可以看到在apidoc目录生成了很多文件:

打开index.html,可以看到文档页面:

五、参考资料

apidoc

apidocjs.com

使用apidoc 生成Restful web Api文档




扫码关注公众号有惊喜

(转载本站文章请注明作者和出处 方志朋的博客

最新文章

  1. 通过ajax访问aspx的CodeBehind中的方法
  2. Linux使用笔记: 定制core dump文件的文件名
  3. jQuery年月日(生日)选择器
  4. android 中对于采用okhttp时获取cookie并放入webview实现跳过登陆显示页面的功能
  5. REST响应处理
  6. oracle 获取系统时间(转)
  7. Datagridview列绑定数据
  8. 8.3 sikuli 集成进eclipse 报错:eclipse中运行提示 Win32Util.dll: Can't load 32-bit .dll on a AMD 64 bit platform
  9. springframwork历史版本下载地址
  10. ubuntu11.0静态IP地址配置
  11. 如何把本地项目上传到Github
  12. 【C# 复习总结】类、继承和接口
  13. NEXUS 上传到私仓的SNAPSHOT 包下载不下来
  14. 使用python读取yaml文件
  15. Spring MVC之ResposeEntity下载文件
  16. TotalCommander如何比较文件夹并提取出重复的文件
  17. cc攻击技术
  18. ionicframework(二)
  19. 20145109《Java程序设计》第一周学习总结
  20. 修改Sublime Text3 的侧边栏字体大小

热门文章

  1. js字符操作
  2. MongoDB windows基础配置及集群搭建
  3. Java版多人聊天室
  4. servlet中this.getServletContext(); this.getServletConfig().getServletContext(); 的区别
  5. hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)
  6. TCP/IP五层模型详解
  7. JSP 之 8种HTTP的请求方式 之 页面组成等
  8. GIS中的坐标系定义与转换
  9. ContentProvider启动浅析
  10. (三)svn 服务器端之创建仓库