使用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实现代码行数统计示例分享
Feb 10 Python
python基础教程之元组操作使用详解
Mar 25 Python
python删除列表内容
Aug 04 Python
详解在Python程序中解析并修改XML内容的方法
Nov 16 Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 Python
Python 3.x 安装opencv+opencv_contrib的操作方法
Apr 02 Python
Python清空文件并替换内容的实例
Oct 22 Python
pytorch 转换矩阵的维数位置方法
Dec 08 Python
Python GUI编程完整示例
Apr 04 Python
Python猴子补丁知识点总结
Jan 05 Python
Python ATM功能实现代码实例
Mar 19 Python
Pytest之测试命名规则的使用
Apr 16 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 foreach 使用&(与运算符)引用赋值要注意的问题
2010/02/16 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
推荐10个提供免费PHP脚本下载的网站
2014/12/31 PHP
PHP浮点比较大小的方法
2016/02/14 PHP
详解PHP函数 strip_tags 处理字符串缺陷bug
2017/06/11 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
ASP.NET jQuery 实例6 (实现CheckBoxList成员全选或全取消)
2012/01/13 Javascript
jQuery操作input type=radio的实现代码
2012/06/14 Javascript
JavaScript学习笔记之JS对象
2015/01/22 Javascript
基于jquery实现人物头像跟随鼠标转动
2015/08/23 Javascript
JS模拟按钮点击功能的方法
2015/12/22 Javascript
Augularjs-起步详解
2016/07/08 Javascript
谈谈PHP中相对路径的问题与绝对路径的使用
2016/08/16 Javascript
setTimeout学习小结
2017/02/08 Javascript
在 Angular 中实现搜索关键字高亮示例
2017/03/21 Javascript
本地搭建微信小程序服务器的实现方法
2017/10/27 Javascript
javascript回调函数详解
2018/02/06 Javascript
JavaScript fetch接口案例解析
2018/08/30 Javascript
vue.js自定义组件实现v-model双向数据绑定的示例代码
2020/01/08 Javascript
Python 40行代码实现人脸识别功能
2017/04/02 Python
python实现对指定字符串补足固定长度倍数截断输出的方法
2018/11/15 Python
python数组循环处理方法
2019/08/26 Python
python实现tail -f 功能
2020/01/17 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
pyinstaller打包单文件时--uac-admin选项不起作用怎么办
2020/04/15 Python
Python turtle库的画笔控制说明
2020/06/28 Python
css3实例教程 一款纯css3实现的环形导航菜单
2014/10/20 HTML / CSS
教师暑期培训感言
2014/08/15 职场文书
放飞梦想演讲稿600字
2014/08/26 职场文书
2014年政府采购工作总结
2014/12/09 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书
Java基础之线程锁相关知识总结
2021/06/30 Java/Android
PostgreSQL自动更新时间戳实例代码
2021/11/27 PostgreSQL
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记