使用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实现示例
Aug 26 Python
PyQt5每天必学之日历控件QCalendarWidget
Apr 19 Python
详解Python 数据库的Connection、Cursor两大对象
Jun 25 Python
python如何求解两数的最大公约数
Sep 27 Python
python3 小数位的四舍五入(用两种方法解决round 遇5不进)
Apr 11 Python
Python 中Django安装和使用教程详解
Jul 03 Python
python flask 如何修改默认端口号的方法步骤
Jul 12 Python
Pytorch之parameters的使用
Dec 31 Python
使用python 的matplotlib 画轨道实例
Jan 19 Python
Django Admin设置应用程序及模型顺序方法详解
Apr 01 Python
python语言是免费还是收费的?
Jun 15 Python
python实现会员信息管理系统(List)
Mar 18 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数组相加 array(“a”)+array(“b”)结果还是array(“a”)
2012/09/19 PHP
基于php 随机数的深入理解
2013/06/05 PHP
PHP的反射类ReflectionClass、ReflectionMethod使用实例
2014/08/05 PHP
tp5.1 框架数据库-数据集操作实例分析
2020/05/26 PHP
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
js获取事件源及触发该事件的对象
2013/10/24 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
一张表格告诉你windows.onload()与$(document).ready()的区别
2014/05/16 Javascript
javascript圆盘抽奖程序实现原理和完整代码例子
2014/06/03 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
jQuery UI库中dialog对话框功能使用全解析
2016/04/23 Javascript
Vuex之理解Mutations的用法实例
2017/04/19 Javascript
js 获取元素的具体样式信息getcss(实例讲解)
2017/07/05 Javascript
JS使用tofixed与round处理数据四舍五入的区别
2017/10/25 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
vue实现搜索过滤效果
2019/05/28 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
vue 通过base64实现图片下载功能
2020/12/19 Vue.js
c++生成dll使用python调用dll的方法
2014/01/20 Python
使用graphics.py实现2048小游戏
2015/03/10 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
Flask框架Flask-Principal基本用法实例分析
2018/07/23 Python
利用Python查看微信共同好友功能的实现代码
2019/04/24 Python
Django 框架模型操作入门教程
2019/11/05 Python
使用pymysql查询数据库,把结果保存为列表并获取指定元素下标实例
2020/05/15 Python
python 6种方法实现单例模式
2020/12/15 Python
Python 实现进度条的六种方式
2021/01/06 Python
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
2010/04/01 HTML / CSS
美国性感内衣店:Yandy
2018/06/12 全球购物
人事助理岗位职责
2013/11/18 职场文书
2014年重阳节敬老活动方案
2014/09/16 职场文书
一年级班主任工作总结2014
2014/11/08 职场文书
三十年同学聚会感言
2015/07/30 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书