使用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绘制人人网好友关系图示例
Apr 01 Python
Python中使用PyHook监听鼠标和键盘事件实例
Jul 18 Python
使用Python对IP进行转换的一些操作技巧小结
Nov 09 Python
SVM基本概念及Python实现代码
Dec 27 Python
python列表生成式与列表生成器的使用
Feb 23 Python
浅谈python3中input输入的使用
Aug 02 Python
Python+OpenCV+图片旋转并用原底色填充新四角的例子
Dec 12 Python
Python命令行click参数用法解析
Dec 19 Python
Python参数传递及收集机制原理解析
Jun 05 Python
解决Python3.8运行tornado项目报NotImplementedError错误
Sep 02 Python
利用python如何实现猫捉老鼠小游戏
Dec 04 Python
python网络爬虫实现发送短信验证码的方法
Feb 25 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
smarty实例教程
2006/11/19 PHP
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
php实现scws中文分词搜索的方法
2015/12/25 PHP
php实现的支付宝网页支付功能示例【基于TP5框架】
2019/09/16 PHP
js 字符串转化成数字的代码
2011/06/29 Javascript
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
用console.table()调试javascript
2014/09/04 Javascript
jQuery获得包含margin的outerWidth和outerHeight的方法
2015/03/25 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
使用JQuery实现智能表单验证功能
2016/03/08 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
浅析JavaScript中作用域和作用域链
2016/12/06 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
JavaScript实现三级联动菜单实例代码
2017/06/26 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
vue实现学生录入系统之添加删除功能
2018/07/11 Javascript
JavaScript面向对象继承原理与实现方法分析
2018/08/09 Javascript
Vue监听事件实现计数点击依次增加的方法
2018/09/26 Javascript
VUE接入腾讯验证码功能(滑块验证)备忘
2019/05/07 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
[05:36]DOTA2 2015国际邀请赛中国区预选赛第四日TOP10
2015/05/29 DOTA
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python数据结构之翻转链表
2017/02/25 Python
python安装模块如何通过setup.py安装(超简单)
2018/05/05 Python
基于plt.title无法显示中文的快速解决
2020/05/16 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
使用python-cv2实现Harr+Adaboost人脸识别的示例
2020/10/27 Python
css3 border-image使用说明
2010/06/23 HTML / CSS
Mistine官方海外旗舰店:泰国国民彩妆品牌
2016/12/28 全球购物
中国跨境电子商务网站:NewFrog
2018/03/10 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
志愿者爱心公益活动策划方案
2014/09/15 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
交通事故协议书范本
2014/11/18 职场文书
优秀班主任事迹材料
2014/12/16 职场文书
应急管理工作总结2015
2015/05/04 职场文书