NodeJs (Egg.js) 使用ApiDoc 搭建APi开发文档

NodeJs (Egg.js) 使用ApiDoc 搭建APi开发文档

在写文档是开发者经常要做的事情,今天介绍一个自动生成文档的工具apidoc。使用起来非常简单,一键快速生成文档,操作非常方便。

安装

 npm install apidoc -g

注意安装环境必须要nodejs

配置

在需要写文档的目录编写配置文件apidoc.json

{
  "name": "接口文档名称",
  "version": "1.0.0",
  "description": "接口文档描述",
  "title": "接口文档浏览器标题",
  "url" : "http://api.abc.com/",
  "header": {
    "title": "接口通用规则",
    "filename": "../header.md"
  },
  "footer": {
    "title": "API 错误返回值说明",
    "filename": "../footer.md"
  }
}

上面的例子引入了公共的头部和底部,支持md模式:

footer.md:

# API 返回值说明

## 请求返回示例

```json
{
     "code" : 200,
     "message" : "params missing",
     "data" : "Object [NULL | NOT NULL]"
   }
```

## HTTP 状态码
code | 描述 | 说明
--- | --- | ---
-1 | 错误提交 | 具体看返回的错误信息
200 | 成功提交 | 请求成功,一般用于GET与POSt请求
201 | 成功提交 | [POST/PUT/PATCH]:用户新建或修改数据成功
202 | 成功提交 | 表示一个请求已经进入后台排队(异步任务)
204 | 成功提交 | 用户删除数据成功
301 | 重定向 | 永久重定向
302 | 重定向 | 临时重定向
400 | 请求错误 | [POST/PUT/PATCH]:用户发出的请求有错误
401 | 鉴权失败 | token过期或者不正确,重新登录(账号密码错误)
403 | 访问禁止 | 访问是被禁止的
404 | 路由不存在或者资源不存在 | 访问的url不存在或者对应资源不存在
406 | 请求格式错误 | 用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)
407 | 请求数据不存在 | 请求数据不存在
410 | 请求资源被删除 | 用户请求的资源被永久删除,且不会再得到的
500 | 服务器内部错误 | 内部服务器出错
501 | 服务器内部错误 | 服务器不支持请求的功能,无法完成请求

header.md:

## API 调用规则

本文档中所有请求服务端 API 接口的请求均使用此规则校验,以下不再重复说明。

API 接口统一请求URL ```http://127.0.0.1:7001/```

每次请求 API 接口时,均需要提供 HTTP Request Header,具体如下:

名称 | 类型 | 说明
--- | --- | ---
```Authorization```| String | 'Authorization':`Bearer ${token}`-数据签名 - 需要进行登录获取签名(登录注册不需要携带)

header和footer是选填的,可以没有!如果需要则apidoc.json文件进行配置

image-20211005113122011

编辑API

写入一个测试接口src/user.js

/**
 * @api {POST} /login 用户登录
 * @apiName login
 * @apiGroup User
 * @apiVersion 1.0.0
 * @apiParam {String} username 用户名
 * @apiParam {String} password 密码
 * @apiParamExample {json} Request-Example
 *  {
 *    "username": "xiaoandx",
 *    "password": "Xiaoandx123."
 *  }
 * 
 * 
 * @apiUse respSuccessModel
 * 
 * @apiSuccessExample  {json} Response-Example
    {
      "data": {
        "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VybmFtZSI6InpoYW5nc2FuIiwicGFzc3dvcmQiOiIxMjMiLCJpYXQiOjE2MzMzOTUwOTR9.Azjt6q23yXsw-q4Iil9wzn_EjpjBOlQekB9onrDOUMg"
      },
      "message": "success",
      "code": 200
    }

 * @apiErrorExample {json} Error-Response:
    {
      "message": "Permission verification error! please input correct username or password.",
      "data": null,
      "code": -1
    }
 */

写入一个公共接口模板 src/commonModule.js 上面userApi配置中就应用了该公共模块@apiUse respSuccessModel

/**
 * @apiDefine respSuccessModel
 *
 * @apiSuccess {Object} code      返回api响应码
 * @apiSuccess {Object} message   请求解释或错误内容
 * @apiSuccess {Object} data      请求具体数据[null | not null]
 * 
 */

目录结构:

image-20211005113359585

编译

运行生成命令:

apidoc -i src/ -o apidoc/

访问

然后在html里面可以直接访问index.html查看文档了

image-20211005113715796

注意:每次更新了接口文件都需要重新执行生成apidoc命令生成。

其他说明

@api

@api {method} path [title]
@api {get} /mission/add 添加任务
HTTP接口调用方法、路径及名称

@apiVersion

@apiVersion version
@apiVersion 1.0.0
api版本

@apiName

@apiName name
@apiName addMission
api 名称

@apiGroup

@apiGroup name
@apiGroup Mission
api 分组

@apiParam

@apiParam [(group)] [{type}] [field=defaultValue] [description]
@apiParam {String} date 添加时间
请求参数

@apiSuccess

@apiSuccess [(group)] [{type}] field [description]
@apiSuccess {Number} code 结果标识
返回数据描述

@apiError

@apiError [(group)] [{type}] field [description]
接口失败描述

@apiSuccessExample

@apiSuccessExample [{type}] [title] example
@apiSuccessExample Success-Response:{}
接口成功返回样例

生成文档

在根目录下执行命令

apidoc -i src/ -o apidoc/

读取router文件夹下的注释,输出到apidoc文件夹下
点开apidoc文件夹中index.html会发现已经生成的漂亮的api文档

去掉请求

在编译得到的文件夹中编辑index.html,删除请求相关模块

<script id="template-article-sample-request" type="text/x-handlebars-template">
  // 去掉中间的代码
</script>
去掉底部版权说明

在编译得到的文件夹中编辑index.html,删除请求相关模

<script id="template-generator" type="text/x-handlebars-template">
  // 去掉中间的代码
</script>

更多

其他详细教程看官方文档:https://apidocjs.com/

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Node.js中安装和配置Three.js环境,您可以按照以下步骤进行操作: 1. 在终端中使用npm命令安装Three.js模块。在您的项目目录下运行以下命令: ``` npm install three --save ``` 这将安装Three.js模块并将其添加到您的项目的依赖中。 2. 确保您已经安装了Node.js和npm,并且已在项目目录中初始化了一个包含package.json文件的npm项目。 3. 在您的JavaScript文件中引入Three.js模块。您可以使用以下代码在您的文件中引入Three.js模块: ```javascript const THREE = require('three'); ``` 现在,您可以在您的项目中使用Three.js库了。 4. 如果您想在浏览器中使用Three.js,您可以将Three.js相关文件直接引入到您的HTML文件中。您可以从官方网站下载Three.js文件,并使用以下代码将其引入到您的HTML文件中: ```html <script src="path/to/three.js"></script> ``` 5. 如果您使用Parcel等构建工具,您可以通过使用npm命令来搭建Three.js开发环境。在您的项目目录下运行以下命令: ``` npm run dev ``` 这将启动开发服务器,并在您的浏览器中开启项目。 综上所述,您可以通过使用npm命令在Node.js中安装Three.js模块,并在您的项目中引入它来配置Three.js环境。如果您希望在浏览器中使用Three.js,您可以直接将相关文件引入到您的HTML文件中,或者使用构建工具如Parcel来搭建开发环境。[4<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值