zoukankan      html  css  js  c++  java
  • api文档生成器apidoc的安装和使用

    在开发接口的过程中,需要向外发布相应的接口文档。开始的时候使用word来写文档,时间长了发现有几个问题。

    1. 编写不方便。每次新增借口的时候都要复制上一个接口,然后再进行修改,一些相同的部分无法复用,接口多了文档会变的很长,还经常需要调整格式。

    2. 发布不方便。文档更新时,需要发给需要的小伙伴。即使用git来进行管理,虽然拉取比较方便,但由于文件格式的问题,也不方便比较两次提交的差异。

    由于有这些问题,决定寻找一种更优雅有效的方式来编写文档。经过比较,发现了apidoc,可以比较好的解决上面提到的问题。apidoc采用了一种类似写代码注释的方式来写文档,支持编写多种语言的文档。最后生成的文档以网页的形式发布,方便快捷,便于阅读。下面就来简单介绍一下怎么使用apidoc来写文档。

    安装

    1. 由于apidoc依赖node.js的包管理工具npm进行安装,所以安装apidoc之前要先安装node.js(npm会在安装node时顺带进行安装)。具体的安装教程可以参考这里

    2. 安装完了npm之后,就可以安装apidoc了。在命令行输入

    npm install apidoc -g

    就可以进行安装了。安装完成输入

    apidoc -h

    出现相关的提示帮助信息,说明安装成功了。

    使用

    1. 在需要生成文档的地方新建一个apidoc.json文件,配置如下

    {
      "name": "appleFarm",//文档项目名
      "title": "appleFarmAPI",//html标题
      "description":"appleFarmAPI接口文档",//文档描述
      "url" : "https://farm.05948166.com",//公共接口地址
      "version": "0.1.0"//文档版本
    }

    2. 在新建apidoc.json的地方打开命令行输入apidoc即可在本目录下生成doc目录直接访问即可

    语法

    举个栗子

    /**
     * @api {get} /articles/:id 根据单个id获取文章信息
     * @apiName 根据id获取文章信息
     * @apiGroup Articles
     *
     * @apiParam (params) {String} id       文章id
     *
     * @apiSuccess {Array} article 返回相应id的文章信息
     *
     * @apiSuccessExample Success-Response:
     *    HTTP/1.1 200 OK
     *      {
     *        "tile": "文章标题2",
     *        "date": 1483941498230,
     *        "author": "classlfz",
     *        "content": "文章的详细内容"
     *       }
     *
     * @apiError (Error 4xx) 404 对应id的文章信息不存在
     *
     * @apiErrorExample Error-Response:
     *     HTTP/1.1 404 对应id的文章信息不存在
     *     {
     *       "error": err
     *     }
     */

    详细介绍

    @api

    @api一般是必须编写的(除非你是用了@apiDefine),不然apidoc编译器会忽略这段注释。

    /** 
     * @api {method} path [title]
     */
    参数描述
    method 请求的方法名称:如GET、POST等等
    path 请求路径(只需要拼写apidoc.json中配置地址的后面部分即可)
    title(可选) 一个简短的标题(用于导航跟文档标题)

    @apiGroup

    定于api归属的组名,生成的文档会把该api注释归类到该值对应的api组上。

    /**
     * @apiGroup name
     */
    参数描述
    name 归属组名称

    @apiName

    @apiName用于定义API文档的一个实例,并用作实例名称 。

    /**
     * @apiName name
     */
    参数描述
    name 实例名称

    @apiParam

    @apiParam用于编写API的参数以及参数的解释。

    /**
     * @apiParam [(group)] [{type}] [field=defaultValue] [description]
     */
    参数描述
    (group) 可选 参数归属组名,不填写组名,则默认设为Paramter
    {type} 可选 参数数据类型,如{String}、{Number}、{Array}等等
    {type{size}} 可选 变量的大小信息 {String{..5}}参数类型为一个字符不超过5的字符串;{String{2..5}}参数为一个字符在2到5之间的字符串;
    {type=allowedValues} 可选 参数允许值 {string=”small”,”huge”}参数只能接受small或者huge的字符串
    field 可选 参数名称
    =defaultValue 参数默认值
    description(可选) 描述

    @apiParamExample

    @apiParamExample参数举例

    /**
     * @apiParamExample [{type}] [title]
     *    example
     */
    参数描述
    {type} 可选 请求数据结构
    title 可选 例子的一个简短的标题
    example 例子的详细信息,可多个例子并存

    @apiSuccess

    请求成功后的返回字段参数

    /**
     * @apiSuccessExample [{type}] [title] example
     */
    参数描述
    (group) 可选 参数归属组名,不填写组名,则默认设为Success 200
    {type} 可选 返回的数据类型,如{String}、{Number}等等
    field 返回的标示符(返回成功的状态码)
    description 可选 描述

    @apiSuccessExample

    请求成功后返回的字段参数例子

    /**
     * @apiSuccessExample [{type}] [title] example
     */
    参数描述
    {type} 可选 请求数据结构
    title 可选 例子的一个简短的标题
    example 例子的详细信息,可多个例子并存

    @apiError & @apiErrorExample

    这个的用法跟@apiSuccess@apiSuccessExample的用法相类似。

  • 相关阅读:
    elasticsearch配置小记(转)
    valgrind详解
    elasticsearch2.x优化小结(单节点)
    使 nodejs 代码 在后端运行(forever)
    使 nodejs 代码 在后端运行(nohup)
    Flutter移动电商实战 --(16)切换后页面状态的保持AutomaticKeepAliveClientMixin
    Flutter移动电商实战 --(14)首页_拨打电话操作
    Flutter移动电商实战 --(15)商品推荐区域制作
    Flutter移动电商实战 --(11)首页_屏幕适配方案和制作
    [UI] 精美UI界面欣赏[9]
  • 原文地址:https://www.cnblogs.com/jiangxiaobo/p/8320916.html
Copyright © 2011-2022 走看看