使用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下如何让web元素的生成更简单的分析
Jul 17 Python
python使用PythonMagick将jpg图片转换成ico图片的方法
Mar 26 Python
Python合并多个装饰器小技巧
Apr 28 Python
使用python3.5仿微软记事本notepad
Jun 15 Python
python中关于for循环的碎碎念
Jun 30 Python
python实现生命游戏的示例代码(Game of Life)
Jan 24 Python
浅析Python pandas模块输出每行中间省略号问题
Jul 03 Python
解决Shell执行python文件,传参空格引起的问题
Oct 30 Python
Python面向对象之类的内置attr属性示例
Dec 14 Python
python点击鼠标获取坐标(Graphics)
Aug 10 Python
pyhton中__pycache__文件夹的产生与作用详解
Nov 24 Python
TensorFlow 输出checkpoint 中的变量名与变量值方式
Feb 11 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
苏联队长,苏联超人蝙蝠侠,这些登场的“山寨”英雄真的很严肃
2020/04/09 欧美动漫
sphinx增量索引的一个问题
2011/06/14 PHP
PHP页面间参数传递的四种方法详解
2013/06/09 PHP
解析在zend Farmework下如何创立一个FORM表单
2013/06/28 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
使用javascript获取页面名称
2014/12/23 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
JS实现三级折叠菜单特效,其它级可自动收缩
2015/08/06 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
2015/09/24 Javascript
跟我学习javascript的函数调用和构造函数调用
2015/11/16 Javascript
jquery实现全选和全不选功能效果的实现代码【推荐】
2016/05/05 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
jquery实现吸顶导航效果
2020/01/08 jQuery
vue keep-alive实现多组件嵌套中个别组件存活不销毁的操作
2020/10/30 Javascript
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
python实现关键词提取的示例讲解
2018/04/28 Python
python Kmeans算法原理深入解析
2019/08/23 Python
Python Tkinter模块 GUI 可视化实例
2019/11/20 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
基于python3生成标签云代码解析
2020/02/18 Python
python使用多线程+socket实现端口扫描
2020/05/28 Python
css3media响应式布局实例
2016/07/08 HTML / CSS
html5适合移动应用开发的12大特性
2014/03/19 HTML / CSS
管理失职检讨书
2014/02/12 职场文书
运动会800米加油稿
2014/02/22 职场文书
公司门卫岗位职责
2014/03/15 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
党组织关系的介绍信模板
2019/06/21 职场文书
详解MySQL中的pid与socket
2021/06/15 MySQL
Java实现简单小画板
2022/06/10 Java/Android
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS