• 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/

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

  • 相关阅读:
    Python 正则表达式(分组)
    django 笔记
    Java代理和动态代理机制分析和应用
    Chrome浏览器如何调试移动端网页信息
    【数据分析】Excle中安装数据分析工具
    【BigData】Java基础_socket编程中使用多线程
    【BigData】Java基础_多线程
    【BigData】Java基础_socket编程
    财务报表之利润表
    资产负债表的会计恒等式
  • 原文地址:https://www.cnblogs.com/TheoryDance/p/10958145.html
Copyright © 2020-2023  润新知