首先声明下,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文档

SpringBoot第十二篇:springboot集成apidoc相关推荐

  1. SpringBoot第二十二篇: 创建含有多module的springboot工程

    这篇文章主要介绍如何在springboot中如何创建含有多个module的工程,栗子中含有两个 module,一个作为libarary. 工程,另外一个是主工程,调用libary .其中libary ...

  2. springboot系列十二、springboot集成RestTemplate及常见用法

    一.背景介绍 在微服务都是以HTTP接口的形式暴露自身服务的,因此在调用远程服务时就必须使用HTTP客户端.我们可以使用JDK原生的URLConnection.Apache的Http Client.N ...

  3. 跟我学SpringCloud | 第十二篇:Spring Cloud Gateway初探

    SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如 ...

  4. matlab最优控制实验报告_第十二篇 章 用MATLAB解最优控制问题及应用实例 最优控制课件.ppt...

    第十二篇 章 用MATLAB解最优控制问题及应用实例 最优控制课件.ppt 综上所述可得结论:Q=diag(1,0,0),R=2时,系统各方面响应较好. 矩阵Q变大时,反馈矩阵变大: 当Q的对角线上第 ...

  5. CCIE-LAB-第十二篇-EIGRP+EIGRP末节区域+leak map+分发列表

    CCIE-LAB-第十二篇-EIGRP+EIGRP末节区域+leak map+分发列表 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译:1.确保分支3分支4 ...

  6. CCNA-第十二篇-STP+ACL(下)

    CCNA-第十二篇-STP+ACL(下) 首先说说要跳跳了 立个小FLAG, 两个月内急速完成CCIE理论+LAB实操 因为接了个工作,主要我能做到就能做这份工作. 其实NP中间的点很多都会,只是因为 ...

  7. CCIE理论-第十二篇-IPV6-NDP协议

    CCIE理论-第十二篇-IPV6-NDP协议 首先我们知道 在IPV4中 A:0.0.0.1-126.255.255.255 B:128.0.0.1-191.255.255.255 C:192.0.0 ...

  8. 国外交友网站开发源码 第十二篇

    最近由于工作生活的事情比较多,所以就没有更新,这篇是国外交友网站开发源码 第十二篇 希望大家能够喜欢. 私信列表 class WechatController extends SiteControll ...

  9. 「第十二篇」漏洞扫描

    批注[--] 表示他人.自己.网络批注参考资料来源于* 书中批注* CSDN* GitHub* Google* 维基百科* YouTube* MDN Web Docs由于编写过程中无法记录所有的URL ...

最新文章

  1. \V110\Microsoft.CppCommon.targets(347,5): error MSB6006: “CL.exe”已退出,代码为 -1073741515。的解决方法
  2. blender硬表面建模渲染终极教程
  3. c++版a+b问题的各种无聊做法
  4. python视频教程大全
  5. 又到校招季,来说说面试和实习
  6. vs中c#的项目配置,平台配置
  7. css 透明度_如何在网页控制透明度
  8. 虚拟机运行Gazebo出现VMware: vmw_ioctl_command error
  9. 云服务器饥荒_运用双腾讯云搭建《饥荒》多人联机服务器
  10. 非常经典的C语言知识点总结!
  11. 敏感词过滤算法的实现
  12. springboot整合mysql数据库_springBoot 集成Mysql数据库
  13. crc8校验c语言程序,单片机CRC8检验C语言实现
  14. C++程序设计基础(揣锦华版)课后习题答案-第一章:程序设计基础知识
  15. 01、winPE64位 -- UEFI+GPT启动引导分区方式 -- win10专业版(1903)64位安装 -- 数字许可永久激活
  16. 嵌入式和单片机的区别在哪?
  17. 罗马数字与十进制数字对应生成(1-3999)
  18. 十多个巨头App上可跑智能小程序了
  19. android开机调用搜狗输入法
  20. Androidstudio通过无线连接进行调试

热门文章

  1. 关于Map的key值的问题
  2. bzoj 4871: [Shoi2017]摧毁“树状图”
  3. jquery学习(3)--高级选择器
  4. 【剑指offer 面试题47】不用加减乘除做加法
  5. 什么样的程序员才算成熟? 让程序员认清自己的所处的阶段
  6. UE中的几个极有用功能
  7. 技术图文:Matlab VS. Numpy 矩阵基本运算
  8. 技术图文:如何利用 Python 做一个简单的定时器类?
  9. 什么是自组织特征映射网络?
  10. 利用Use Case为系统行为建模(3)