使用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的正则表达式re模块的常用方法
Mar 09 Python
python中文编码问题小结
Sep 28 Python
在Python中使用NLTK库实现对词干的提取的教程
Apr 08 Python
Python中字典映射类型的学习教程
Aug 20 Python
Python实现网络端口转发和重定向的方法
Sep 19 Python
使用 Python 实现微信公众号粉丝迁移流程
Jan 03 Python
python3 打开外部程序及关闭的示例
Nov 06 Python
对python 读取线的shp文件实例详解
Dec 22 Python
python mac下安装虚拟环境的图文教程
Apr 12 Python
Python使用turtle库绘制小猪佩奇(实例代码)
Jan 16 Python
python文本处理的方案(结巴分词并去除符号)
May 26 Python
浅谈Python中对象是如何被调用的
Apr 06 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二维数组排序的3种方法和自定义函数分享
2014/04/09 PHP
php进程间通讯实例分析
2016/07/11 PHP
php中时间函数date及常用的时间计算
2017/05/12 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
JQuery教学之性能优化
2014/05/14 Javascript
window.location的重写及判断location是否被重写
2014/09/04 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
jQuery 特性操作详解及实例代码
2016/09/29 Javascript
在vue-cli项目中使用bootstrap的方法示例
2018/04/21 Javascript
bootstrap自定义样式之bootstrap实现侧边导航栏功能
2018/09/10 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
2018/11/02 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
angular 用Observable实现异步调用的方法
2018/12/27 Javascript
Centos7 安装Node.js10以上版本的方法步骤
2019/10/15 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
使用Python解析JSON数据的基本方法
2015/10/15 Python
Python3实现发送QQ邮件功能(文本)
2017/12/15 Python
加拿大便宜的隐形眼镜商店:Clearly
2016/09/15 全球购物
CHARLES & KEITH英国官网:新加坡时尚品牌
2018/07/04 全球购物
俄罗斯建筑和装饰材料在线商店:Stroilandia
2020/07/25 全球购物
PHP如何设置和取得Cookie值
2015/06/30 面试题
物理研修随笔感言
2014/02/14 职场文书
农村党员一句话承诺
2014/05/30 职场文书
个人汇报材料范文
2014/12/30 职场文书
2016年村党支部公开承诺书
2016/03/24 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
2021/05/25 Vue.js
sql server删除前1000行数据的方法实例
2021/08/30 SQL Server
python神经网络学习 使用Keras进行回归运算
2022/05/04 Python