使用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调用C/C++动态链接库的方法详解
Jul 22 Python
在Python中操作文件之read()方法的使用教程
May 24 Python
Python开发SQLite3数据库相关操作详解【连接,查询,插入,更新,删除,关闭等】
Jul 27 Python
解决python报错MemoryError的问题
Jun 26 Python
对Python 两大环境管理神器 pyenv 和 virtualenv详解
Dec 31 Python
PyQt5实现类似别踩白块游戏
Jan 24 Python
Python如何实现转换URL详解
Jul 02 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
Keras 使用 Lambda层详解
Jun 10 Python
python中K-means算法基础知识点
Jan 25 Python
python装饰器代码深入讲解
Mar 01 Python
Python学习之时间包使用教程详解
Mar 21 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
PHP之生成GIF动画的实现方法
2013/06/07 PHP
ThinkPHP控制器里javascript代码不能执行的解决方法
2014/11/22 PHP
php实现的日历程序
2015/06/18 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
jQuery 点击图片跳转上一张或下一张功能的实现代码
2010/03/12 Javascript
JS实现在Repeater控件中创建可隐藏区域的代码
2010/09/16 Javascript
JavaScript中函数声明优先于变量声明的实例分析
2012/03/01 Javascript
JS.elementGetStyle(element, style)应用示例
2013/09/24 Javascript
JavaScript DOM元素尺寸和位置
2015/04/13 Javascript
简述AngularJS的控制器的使用
2015/06/16 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
2016/12/14 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
2017/05/25 jQuery
javascript+jQuery实现360开机时间显示效果
2017/11/03 jQuery
使用express搭建一个简单的查询服务器的方法
2018/02/09 Javascript
微信小程序实现签到功能
2018/10/31 Javascript
vue父子模板传值问题解决方法案例分析
2020/02/26 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
python抓取网页中的图片示例
2014/02/28 Python
Python开发常用的一些开源Package分享
2015/02/14 Python
Python及PyCharm下载与安装教程
2017/11/18 Python
Python3实现的判断环形链表算法示例
2019/03/07 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
adidas瑞典官方网站:购买阿迪达斯鞋子和运动服
2019/12/11 全球购物
食堂员工工作职责
2013/12/18 职场文书
检察官就职演讲稿
2014/01/13 职场文书
学年自我鉴定
2014/01/16 职场文书
法律专业学生的自我评价
2014/02/07 职场文书
医院合作协议书
2014/08/19 职场文书
小学生勤俭节约演讲稿
2014/08/28 职场文书
铣工实训报告
2014/11/05 职场文书
民事调解书范文
2015/05/20 职场文书
学法用法心得体会(2016推荐篇)
2016/01/21 职场文书
为什么mysql字段要使用NOT NULL
2021/05/13 MySQL