使用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中使用MELIAE分析程序内存占用实例
Feb 18 Python
简单介绍Python中的round()方法
May 15 Python
python中循环语句while用法实例
May 16 Python
python中实现将多个print输出合成一个数组
Apr 19 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
Python实现的栈、队列、文件目录遍历操作示例
May 06 Python
python使用pygame模块实现坦克大战游戏
Mar 25 Python
pip install python 快速安装模块的教程图解
Oct 08 Python
Python实现投影法分割图像示例(一)
Jan 17 Python
python日期与时间戳的各种转换示例
Feb 12 Python
如何在django中实现分页功能
Apr 22 Python
python从PDF中提取数据的示例
Oct 30 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
php 移除数组重复元素的一点说明
2008/11/27 PHP
php中常用字符串处理代码片段整理
2011/11/07 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
PHP从二维数组得到N层分类树的实现代码
2016/10/11 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
JavaScript浏览器选项卡效果
2010/08/25 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
jquery 获取表单元素里面的值示例代码
2013/07/28 Javascript
javascript event在FF和IE的兼容传参心得(绝对好用)
2014/07/10 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
JavaScript中最常见的三个面试题解析
2017/03/04 Javascript
正则 js分转元带千分符号详解
2017/03/08 Javascript
angular.js实现购物车功能
2017/10/23 Javascript
React Native中NavigatorIOS组件的简单使用详解
2018/01/27 Javascript
对vux点击事件的优化详解
2018/08/28 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
vue实现商品列表的添加删除实例讲解
2020/05/14 Javascript
微信小程序input抖动问题的修复方法
2021/03/03 Javascript
[41:21]夜魇凡尔赛茶话会 第三期02:看图识人
2021/03/11 DOTA
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Python2与python3中 for 循环语句基础与实例分析
2017/11/20 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
Python列表操作方法详解
2020/02/09 Python
Django 404、500页面全局配置知识点详解
2020/03/10 Python
python list的index()和find()的实现
2020/11/16 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
英国工艺品购物网站:Minerva Crafts
2018/01/29 全球购物
贸易经济专业自荐书
2014/06/29 职场文书
中国梦团日活动总结
2014/07/07 职场文书
python编程项目中线上问题排查与解决
2021/11/01 Python
Nginx图片服务器配置之后图片访问404的问题解决
2022/03/21 Servers