使用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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
python使用cookielib库示例分享
Mar 03 Python
Python数组条件过滤filter函数使用示例
Jul 22 Python
python使用PIL模块实现给图片打水印的方法
May 22 Python
详解Python中的元组与逻辑运算符
Oct 13 Python
Python爬虫代理IP池实现方法
Jan 05 Python
通过pykafka接收Kafka消息队列的方法
Dec 27 Python
关于pytorch多GPU训练实例与性能对比分析
Aug 19 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
django ORM之values和annotate使用详解
May 19 Python
Python如何利用正则表达式爬取网页信息及图片
Apr 17 Python
一劳永逸彻底解决pip install慢的办法
May 24 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
一条久听不愿放下的DIY森海MX500,三言两语话神奇
2021/03/02 无线电
php 多个submit提交表单 处理方法
2009/07/07 PHP
PHP Socket 编程
2010/04/09 PHP
zf框架的数据库追踪器使用示例
2014/03/13 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
PHP实现的贪婪算法实例
2017/10/17 PHP
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
style、 currentStyle、 runtimeStyle区别分析
2010/08/01 Javascript
JS之Date对象和获取系统当前时间详解
2014/01/13 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
JavaScript中的全局对象介绍
2015/01/01 Javascript
Javascript中For In语句用法实例
2015/05/14 Javascript
javascript中字体浮动效果的简单实例演示
2015/11/18 Javascript
JQuery ztree 异步加载实例讲解
2016/02/25 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
JS修改地址栏参数实例代码
2016/06/14 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
Vue Socket.io源码解读
2018/02/07 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
整理Python中的赋值运算符
2015/05/13 Python
完美解决python遍历删除字典里值为空的元素报错问题
2016/09/11 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
CSS3 中的@keyframes介绍
2014/09/02 HTML / CSS
Canvas制作的下雨动画的示例
2018/03/06 HTML / CSS
巴西补充剂和维生素购物网站:Natue
2019/06/17 全球购物
介绍一下常见的木马种类
2014/11/15 面试题
软件测试有哪些?什么是配置项?
2012/02/12 面试题
应届护士推荐信
2013/11/16 职场文书
材料员岗位职责
2014/03/13 职场文书
初中学生期末评语
2014/04/24 职场文书
2019财务毕业实习报告
2019/06/27 职场文书
交通安全宣传标语(100条)
2019/08/22 职场文书
python实现Nao机器人的单目测距
2021/09/04 Python