使用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使用循环实现批量创建文件夹示例
Mar 25 Python
python实现下载文件的三种方法
Feb 09 Python
python+mysql实现教务管理系统
Feb 20 Python
Python中的pathlib.Path为什么不继承str详解
Jun 23 Python
解决django model修改添加字段报错的问题
Nov 18 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
python 检查数据中是否有缺失值,删除缺失值的方式
Dec 02 Python
centos7中安装python3.6.4的教程
Dec 11 Python
python利用datetime模块计算程序运行时间问题
Feb 20 Python
python中Ansible模块的Playbook的具体使用
May 28 Python
浅谈Python 命令行参数argparse写入图片路径操作
Jul 12 Python
分享一枚pycharm激活码适用所有pycharm版本我的pycharm2020.2.3激活成功
Nov 20 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
php5中类的学习
2008/03/28 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
基于Discuz security.inc.php代码的深入分析
2013/06/03 PHP
Yii PHP Framework实用入门教程(详细介绍)
2013/06/18 PHP
PHP常见的几种攻击方式实例小结
2019/04/29 PHP
javascript的事件描述
2006/09/08 Javascript
各种常用浏览器getBoundingClientRect的解析
2009/05/21 Javascript
EasyUI的treegrid组件动态加载数据问题的解决办法
2011/12/11 Javascript
jQuery.prototype.init选择器构造函数源码思路分析
2013/02/05 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
JS获取CSS样式(style/getComputedStyle/currentStyle)
2016/01/19 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
微信小程序 保留小数(toFixed)详细介绍
2016/11/16 Javascript
JS 组件系列之Bootstrap Table的冻结列功能彻底解决高度问题
2017/06/30 Javascript
ionic2懒加载配置详解
2017/09/01 Javascript
CSS3结合jQuery实现动画效果及回调函数的实例
2017/12/27 jQuery
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
使用Javascript简单计算器
2018/11/17 Javascript
jQuery实现网页拼图游戏
2020/04/22 jQuery
python通过pil将图片转换成黑白效果的方法
2015/03/16 Python
python计算牛顿迭代多项式实例分析
2015/05/07 Python
Python中int()函数的用法浅析
2017/10/17 Python
对python-3-print重定向输出的几种方法总结
2018/05/11 Python
Scrapy-Redis结合POST请求获取数据的方法示例
2019/05/07 Python
使用python画社交网络图实例代码
2019/07/10 Python
python3下pygame如何实现显示中文
2020/01/11 Python
Python socket处理client连接过程解析
2020/03/18 Python
树莓派升级python的具体步骤
2020/07/05 Python
新英格兰最大的特色礼品连锁店:The Paper Store
2018/07/23 全球购物
2014年社区党建工作汇报材料
2014/11/02 职场文书
2015年个人工作总结报告
2015/04/25 职场文书
运动会三级跳加油稿
2015/07/21 职场文书
退休欢送会致辞
2015/07/31 职场文书
学校运动会感想
2015/08/10 职场文书
当你焦虑迷茫时,请读读这6句话
2019/07/24 职场文书
利用Python实时获取steam特惠游戏数据
2022/06/25 Python