apidoc学习(接口文档定义取代word)

apidoc的安装,参考:https://blog.csdn.net/qq_36386771/article/details/82149848

生产文档,需要先编写一个apidoc.json对接口文档进行基本说明,在编写一些接口定义文档(采用js),然后运行命令,生成对于的html网页

demo案例:目录结构:

xxxx/apidoc_demo/apidoc.json   接口文档的总说明
xxxx/apidoc_dem/myapp/demo.js  接口文档具体接口的定义
xxxx/apidoc_dem/apidoc/  用于存放生成的html文件
在xxxx/apidoc_demo/目录下执行命令 >> apidoc -i myapp/ -o apidoc/

新建apidoc.json

{
  "name": "p1app_v2",
  "description": "P1APP二期的接口文档",
  "version": "0.0.1",
  "title": "p1app_v2_doc",
  "url": "https://localhost:8010/p1app_v2"
}

新建一个demo.js

    /**
     * @apiDefine Index 首页
     */

        /**
         * @api {post} /Index/getVip 获取vip列表   页面加载时自动获取
         * @apiName getVip
         * @apiGroup Index
         * @apiParam {string} req1 请求值
         * @apiSuccess (200) {Object[]} profiles List of user profiles.
* @apiSuccess (200) {Number} profiles.age Users age.
* @apiSuccess (200) {String} profiles.image Avatar-Image.
* @apiSuccess (201) {String} failed Avatar-Image.
* @apiSuccessExample {json} Success-Response: * { *   res1:"test" * }
*/ /** * @api {get} /Index/getWeather 获取指定日期的逐小时气象数据信息 * @apiName getWeather * @apiGroup Index * @apiDescription 根据传递的行政区编码,获取所在城市的信息,得到城市对应的气象数据。 * @apiParam {String} [date] 日期,格式yyyy-MM-dd,不传,默认为当日 * @apiParam {String} region_code 行政区编码,如"500244" * @apiParam {String="hour","day","week","month","year"} data_type 数据类型 * @apiParam {Number=10,20} num 记录最大返回条数 * @apiParam {String{5...10}} strlen 字符串长度限制 * @apiParam {Number{5-10}} num_range 数字范围 * @apiParam {String{5-10}} str_range 字符串范围 * @apiVersion 0.0.1 * @apiSuccess {JsonObject} result JsonObject对象 * @apiSuccessExample Success-Response: { "code": 0, "msg": "success", "data":[ { "date": "2019-05-30 01", "humidity": 0.97 }, { "date": "2019-05-30 02", "humidity": 0.98 } ] } */

效果图如下:

 

apidoc的注解说明:

@api {get} /users/:user_id Request User Information
最主要的参数,”{get}”定义了HTTP请求是GET,API地址是”/users/:user_id”,文档中API的名称是”Request User Information”。

@apiVersion 0.1.0
API的版本号,默认显示在API名称的右方。该参数可用来在不同的版本之间做比较,后面会介绍。

@apiName GetUser
API名称,不影响文档。

@apiGroup User
API分组名,文档内容中和菜单栏中同一组的API会在一同显示,方便阅读。

@apiPermission admin
API的访问权限,文档中默认会API地址下面显示。没有权限要求的话,此项可以省略。

@apiDescription API to get the user information.
API的详细描述,默认显示在API名称的下方。

@apiExample Example usage:
API调用示例,该参数的下一行就是示例的内容,直到有空行结束。可以定义多个@apiExample,默认在文档中会以标签形式列出,标签名就是”Example usage:”。

@apiParam {Number} user_id The user’s unique ID.
API参数字段介绍,”{Number}”定义了字段类型,”user_id”是字段名称,后面则是字段描述。可以定义多个@apiParam字段。

@apiSuccess {String} name Name of the User.
API成功后返回的字段,如同@apiParam,”{String}”定义了字段类型,”name”是返回字段名称,后面则是字段描述。可以定义多个@apiSuccess字段。

@apiSuccessExample {json} Success-Response:
显示一个API成功返回后Response响应的示例,”{json}”代表响应体是JSON类型。该参数的下行就是响应体内容,直到有空行结束。可以定义多个@apiSuccessExample,默认在文档中会以标签形式列出,标签名就是”Success-Response:”。

@apiError UserNotFound User was not found.
API发生错误后的返回,”UserNotFound”是错误名称,后面则是错误描述。可以定义多个错误返回。

@apiErrorExample {json} Error-Response:
显示一个API错误返回后Response响应的示例,”{json}”代表响应体是JSON类型。该参数的下行就是响应体内容,直到有空行结束。可以定义多个@apiErrorExample,默认在文档中会以标签形式列出,标签名就是”Error-Response:”。

@apiSampleRequest http://localhost:5000/users/:user_id
文档提供的API Sample测试的地址。其实在”apidoc.json”中配过”sampleUrl”项后,此参数即可省去,除非这个API的测试URL比较特殊,需特别指定。

使用js编写,这些注解都写在注释中,上面的内容引用自:https://www.jianshu.com/p/d324810d694d

参数定义说明:参考https://blog.csdn.net/qq_14824885/article/details/87793476#apiParam_251

apidoc使用中文说明:https://blog.csdn.net/qq_14824885/article/details/87793476

apidoc使用英文说明(官方文档):http://apidocjs.com/

针对版本变更以及对比,待继续学习.......

猜你喜欢

转载自www.cnblogs.com/TheoryDance/p/10958145.html