SpringBoot非官方教程 | 第十二篇: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文档

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏性能与架构

Express.js 4,Node.js,MongoDB REST API 简易教程

教程内容 采用测试驱动开发的方式,开发一个简单的 REST API,包括基本的 POST/GET/PUT/DELETE 操作 先编写好针对各个接口的测试代码,包...

3646
来自专栏陈满iOS

iOS报错记录:dyld: could not load inserted library '/usr/lib/libgmalloc.dylib' because image not found

edit scheme —>run debug —>在Memory Management区域将Eanble Guard Malloc设置为不选中

361
来自专栏腾讯云API

腾讯云API:用Python使用腾讯云API(cvm实例)

腾讯云API地址:https://cloud.tencent.com/document/api

5473
来自专栏郭少华

Spring boot热部署(三)

CTRL + SHIFT + A --> 查找make project automatically --> 选中

1261
来自专栏木头编程 - moTzxx

Excel 表格数据存储mysql数据库|三级分类

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011415782/article/de...

1003
来自专栏小程序·云开发专栏

一次在微信小程序里跑 h5 页面的尝试

标题看起来有点唬人,在微信小程序里跑 h5 页面,不会又是说使用 web-view 组件来搞吧?确实,使用 web-view 组件可以达到跑 h5 页面的要求,...

1171
来自专栏实战docker

pinpoint插件开发之二:从零开始新建一个插件

在上一章《pinpoint插件开发之一:牛刀小试,调整gson插件》我们初步体验了pinpoint插件的构建和使用,本章我们从零开始创建一个全新插件,体验完整的...

6006
来自专栏草根专栏

用ASP.NET Core 2.0 建立规范的 REST API -- GET 和 POST

本文所需的一些预备知识可以看这里: http://www.cnblogs.com/cgzl/p/9010978.html 和 http://www.cnblog...

1081
来自专栏Java帮帮-微信公众号-技术文章全总结

Web-第十五天 Ajax学习【悟空教程】

在实际开发中,完成注册功能前,如果用户填写用户信息,准备填写其他信息时,将提示当前用户的用户名是否可用。效果图如下:

903
来自专栏草根专栏

用ASP.NET Core 2.0 建立规范的 REST API -- 预备知识 + 项目准备

REST 是 Representational State Transfer 的缩写. 它是一种架构的风格, 这种风格基于一套预定义的规则, 这些规则描述了网络...

7616

扫码关注云+社区