使用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中dict与set的使用
Aug 10 Python
浅谈插入排序算法在Python程序中的实现及简单改进
May 04 Python
Python正则表达式如何进行字符串替换实例
Dec 28 Python
Python使用tkinter库实现文本显示用户输入功能示例
May 30 Python
对python字典元素的添加与修改方法详解
Jul 06 Python
Python3爬虫之自动查询天气并实现语音播报
Feb 21 Python
Python实现进度条和时间预估的示例代码
Jun 02 Python
Python xlrd模块导入过程及常用操作
Jun 10 Python
python集合能干吗
Jul 19 Python
Python趣味入门教程之循环语句while
Aug 26 Python
python 如何调用 dubbo 接口
Sep 24 Python
Python基于Opencv识别两张相似图片
Apr 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
用ODBC的分页显示
2006/10/09 PHP
php str_replace的替换漏洞
2008/03/15 PHP
PHP写UltraEdit插件脚本实现方法
2011/12/26 PHP
php+ajax做仿百度搜索下拉自动提示框(有实例)
2012/08/21 PHP
PHP实现导出带样式的Excel
2016/08/28 PHP
PHP获取文件扩展名的方法实例总结
2017/06/10 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
javascript 动态修改样式和层叠样式表代码
2010/04/27 Javascript
自动设置iframe大小的jQuery代码
2013/09/11 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
jQuery中Ajax全局事件引用方式及各个事件(全局/局部)执行顺序
2016/06/02 Javascript
js变量提升深入理解
2016/09/16 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
jQuery中 bind的用法简单介绍
2017/02/13 Javascript
ES6学习教程之Map的常用方法总结
2017/08/03 Javascript
vue-cli项目如何使用vue-resource获取本地的json数据(模拟服务端返回数据)
2017/08/04 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
vue-cli3跨域配置的简单方法
2019/09/06 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
[01:16]2014DOTA2 TI专访C9战队EE:中国五强中会占三席
2014/07/10 DOTA
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
python判断字符串是否包含子字符串的方法
2015/03/24 Python
python实现矩阵乘法的方法
2015/06/28 Python
python线程中同步锁详解
2018/04/27 Python
Python读取YUV文件,并显示的方法
2018/12/04 Python
解决tensorflow打印tensor有省略号的问题
2020/02/04 Python
Python集合操作方法详解
2020/02/09 Python
python实现信号时域统计特征提取代码
2020/02/26 Python
CSS3实现歌词进度文字颜色填充变化动态效果的思路详解
2020/06/02 HTML / CSS
英国奢侈皮具品牌:Aspinal of London
2018/09/02 全球购物
食品安全汇报材料
2014/08/18 职场文书
八荣八耻演讲稿
2014/09/15 职场文书
2014年个人工作总结报告
2014/11/27 职场文书
期中考试复习计划
2015/01/19 职场文书
Python可视化学习之seaborn调色盘
2022/02/24 Python