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/
针对版本变更以及对比,待继续学习.......
apidoc学习(接口文档定义取代word)的更多相关文章
- flask + apidoc 生成接口文档(附加一个坑)
具体使用方法见这里 https://blog.csdn.net/lynnyq/article/details/79254290 挺详细的,我就不抄了. 重点是一个坑: 执行 python manage ...
- apidoc接口文档的快速生成
官方文档连接:http://apidocjs.com/#demo apidoc是一个轻量级的在线REST接口文档生成系统,支持多种主流语言,包括Java.C.C#.PHP和Javascript等.使用 ...
- 接口文档神器之apidoc
//@desn:apidoc linux环境 windows环境使用 //@desn:码字不宜,转载请注明出处 //@author:张慧源 <turing_zhy@163.com> / ...
- web接口文档apidoc的使用
1.安装 npm install apidoc -g 2.新建src文件夹,里面放2个文件,test.js和apidoc.json 3.test.js /** * @api {get} /query_ ...
- 在sublime3中docblockr插件配置apidoc接口文档注释模板
写在前面: 将进行3个步骤配置 1.在sublime3中安装插件docblockr,可以参考http://www.cnblogs.com/jiangxiaobo/p/8327709.html 2.安装 ...
- Spring MVC学习总结(9)——Spring MVC整合swagger自动生成api接口文档
Swagger 号称:世界最流行的API框架,官网:http://swagger.io/,Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总 ...
- 快速根据注释生成接口文档网页工具——Apidoc的使用教程
1,安装Node.js的npm工具环境: 如有不懂,请看我的博客:“https://blog.csdn.net/sinat_28371057/article/details/81612661“ 2,n ...
- apidoc 接口文档系统
代码未动,文档先行.apidoc可以方便地维护接口文档.模拟响应数据.前后端分离.导出PDF文档. 特性说明 可视化编辑:支持表单界面编辑接口,不必手动编辑swagger.json 接口模拟响应:支持 ...
- FastAPI 学习之路(二十)接口文档配置相关
系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...
随机推荐
- Spring源码之循环依赖
https://www.cnblogs.com/longy2012/articles/12834762.html https://www.bilibili.com/video/BV1iD4y1o7pM ...
- C# 9 record 并非简单属性 POCO 的语法糖
C# 9 record 并非简单属性 POCO 的语法糖 最近升级专案到大统一 .NET 5 并使用 C#9 语法尝试改写套件,发现之前以为 record 只是简单属性 POCO 的简化语法糖的认知是 ...
- 深度分析:面试90%被问到的 Session、Cookie、Token,看完这篇你就掌握了!
Cookie 和 Session HTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录:Session 和 Cookie 的主要目的 ...
- python中a+=b 和a=a+b的结果一样吗
这里涉及到可变类型和不可变类型. 可变类型:列表,字典,集合 不可变:数字,字符串,元祖 先看一下不可变类型的运算: +=运算 >>> a, b = 1, 2 >>> ...
- Guitar Pro教程之虚拟吉他功能讲解
上一章节我们讲述了Guitar Pro的组织小节的相关功能,那么本章节我们还是采用图文结合的方式为大家讲解关于{cms_selflink page='index' text='Guitar Pro'} ...
- 【PUPPETEER】初探之原生frame切换(四)
一.知识点 page.frames() 使用frame.url() 获取framed的url x.getAttribute('x') 获取元素内值 二.实例 问:什么是iframe? 答:iframe ...
- ubuntu安装php的 redis扩展
wget https://github.com/phpredis/phpredis/archive/2.2.4.tar.gztar -zxvf 2.2.4.tar.gz cd phpredis-2.2 ...
- Java基础教程——继承
继承 一个类 可以 继承自 另一个类: 派生的类(子类)继承父类的方法和数据成员: 关键字:子类 extends 父类. public class 继承 { public static void ma ...
- 《Spring Boot 实战纪实》之如何攥写需求文档
目录 前言 (思维篇)人人都是产品经理 1.需求文档 1.1 需求管理 1.2 如何攥写需求文档 1.3 需求关键点文档 2 原型设计 2.1 缺失的逻辑 2.2 让想法跃然纸上 3 开发设计文档 3 ...
- .Net编码规范整理
前言 此处只是整理并记录下.Net开发规范以便加深编码规范.一个好的编程规范可以让自己程序可读性,让自己编码更规范,分为两部分:通用规范..Net开发规范. 微软通用编程规范 明确性和一致性 库的使用 ...