使用apidoc管理RESTful风格Flask项目接口文档方法


Posted in Python onFebruary 07, 2018

使用apidoc管理RESTful风格Flask项目接口文档方法

apidoc项目地址

flask扩展包地址

文档示例地址

1.安装nodejs

sudo apt-get install nodejs
sudo apt install nodejs-legacy
sudo apt install npm

2.安装apidoc

npm install apidoc -g

3.Flask扩展包安装

pip install flask-apidoc

4.添加扩展包到Flask项目

依赖环境

flask>=0.10.1
flask_script>=2.0.5

manage.py项目启动脚本配置

from views import app
from flask_apidoc.commands import GenerateApiDoc
from flask_script import Manager
manager = Manager(app)
manager.add_command('apidoc', GenerateApiDoc())
if __name__ == "__main__":
 manager.run()

apidoc.json配置

必须在项目根目录下建立apidoc.json配置文件

{
 "name": "Flask REST API",
 "version": "1.0.0",
 "description": "A Flask REST API example",
 "title": "A Flask REST API example",
 "url" : "http://localhost:5000"
}

视图函数文档注释说明示例

# -*- coding: utf-8 -*-
from flask import Flask
from flask_apidoc import ApiDoc
app = Flask(__name__)
doc = ApiDoc(app=app)

@app.route('/users', methods=['POST'])
def register():
 """
 @api {post} /api/v1.0/users 注册
 @apiVersion 1.0.0
 @apiName register_user
 @apiGroup Users
 @apiParam {String} mobile  (必须) 用户手机号
 @apiParam {String} password (必须) 用户密码
 @apiParam {String} sms_code (必须) 用户短信验证码
 @apiParamExample {json} Request-Example:
  {
   mobile: "13970512239",
   password: "123456",
   sms_code: "907896"
  }
 @apiSuccess (回参) {int} user_id 用户注册id
 @apiSuccess (回参) {String} name 用户昵称
 @apiSuccess (回参) {String} mobile 用户注册手机号
 @apiSuccess (回参) {String} avatar 用户头像地址
 @apiSuccess (回参) {String} create_time 用户创建时间
 @apiSuccessExample {json} Success-Response:
  {
   "errno":0,
   "errmsg":"注册成功!",
   "data": {
    "user_id": 1,
    "name": "lynnyq",
    "mobile": "13813888888",
    "avatar": "http://p3ifu3dwc.bkt.clouddn.com/FjuAwxmcCtiud_nOZ",
    "create_time": "2010-1-1 12:12:12"
   }
  }
 @apiErrorExample {json} Error-Response:
  {
   "errno":4001,
   "errmsg":"数据库查询错误!"
  }
 """
 pass

5.生成RESTful风格接口文档

python manage.py apidoc

文档默认生成在项目根目录下的static/docs文件夹下

6.接口文档页面效果

使用apidoc管理RESTful风格Flask项目接口文档方法

使用apidoc管理RESTful风格Flask项目接口文档方法

以上这篇使用apidoc管理RESTful风格Flask项目接口文档方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python计算书页码的统计数字问题实例
Sep 26 Python
python调用机器喇叭发出蜂鸣声(Beep)的方法
Mar 23 Python
分析Python编程时利用wxPython来支持多线程的方法
Apr 07 Python
Python实现字典的key和values的交换
Aug 04 Python
Windows 7下Python Web环境搭建图文教程
Mar 20 Python
numpy使用fromstring创建矩阵的实例
Jun 15 Python
python 检查是否为中文字符串的方法
Dec 28 Python
python装饰器代替set get方法实例
Dec 19 Python
Python 安装 virturalenv 虚拟环境的教程详解
Feb 21 Python
tensorflow实现将ckpt转pb文件的方法
Apr 22 Python
Python脚本调试工具安装过程
Jan 11 Python
Pytorch distributed 多卡并行载入模型操作
Jun 05 Python
Python列表推导式、字典推导式与集合推导式用法实例分析
Feb 07 #Python
浅析Python3爬虫登录模拟
Feb 07 #Python
Python实现的三层BP神经网络算法示例
Feb 07 #Python
Python 12306抢火车票脚本
Feb 07 #Python
django限制匿名用户访问及重定向的方法实例
Feb 07 #Python
Python用 KNN 进行验证码识别的实现方法
Feb 06 #Python
Python实现的径向基(RBF)神经网络示例
Feb 06 #Python
You might like
攻克CakePHP系列二 表单数据显示
2008/10/22 PHP
crontab无法执行php的解决方法
2016/01/25 PHP
JavaScript 字符串乘法
2009/08/20 Javascript
层序遍历在ExtJs的TreePanel中的应用
2009/10/16 Javascript
JavaScript 变量基础知识
2009/11/07 Javascript
用document.documentElement取代document.body的原因分析
2009/11/12 Javascript
JS request函数 用来获取url参数
2010/05/17 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
JavaScript数据类型判定的总结笔记
2015/07/31 Javascript
jQuery UI设置固定日期选择特效代码分享
2015/08/27 Javascript
基于jquery实现鼠标左右拖动滑块滑动附源码下载
2015/12/23 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
React 使用recharts实现散点地图的示例代码
2018/12/07 Javascript
微信小程序-API接口安全详解
2019/07/16 Javascript
javascript刷新父页面方法汇总详解
2019/10/10 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
基于vue与element实现创建试卷相关功能(实例代码)
2020/12/07 Vue.js
详解Python中的Cookie模块使用
2015/07/06 Python
python如何在列表、字典中筛选数据
2018/03/19 Python
Python获取数据库数据并保存在excel表格中的方法
2019/06/12 Python
在python tkinter中Canvas实现进度条显示的方法
2019/06/14 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
Python sqlalchemy时间戳及密码管理实现代码详解
2020/08/01 Python
For Art’s Sake官网:手工制作的奢华眼镜
2018/12/15 全球购物
Dr. Martens马汀博士德国官网:马丁靴鼻祖
2019/12/26 全球购物
采购员的工作职责
2013/12/26 职场文书
班组长岗位职责范本
2014/01/05 职场文书
高中考试作弊检讨书
2014/01/14 职场文书
陈欧广告词
2014/03/14 职场文书
小组口号大全
2014/06/09 职场文书
初中生活随笔
2015/08/15 职场文书
导游词之鲁迅祖居
2019/10/17 职场文书
pytorch 带batch的tensor类型图像显示操作
2021/05/20 Python
Java SSM配置文件案例详解
2021/08/30 Java/Android