使用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使用matplotlib绘制余弦的散点图示例
Mar 14 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
FFrpc python客户端lib使用解析
Aug 24 Python
Pycharm debug调试时带参数过程解析
Feb 03 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
Feb 03 Python
关于TensorFlow新旧版本函数接口变化详解
Feb 10 Python
python如何安装下载后的模块
Jul 03 Python
Python selenium环境搭建实现过程解析
Sep 08 Python
python 实现表情识别
Nov 21 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 Python
Django如何与Ajax交互
Apr 29 Python
利用Pycharm连接服务器的全过程记录
Jul 01 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学习之整理字符串
2011/04/17 PHP
Redis构建分布式锁
2017/03/28 PHP
php类自动装载、链式操作、魔术方法实现代码
2017/07/23 PHP
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
一个关于javascript匿名函数的问题分析
2012/03/30 Javascript
nodejs获取本机内网和外网ip地址的实现代码
2014/06/01 NodeJs
Javascript前端UI框架Kit使用指南之kitjs事件管理
2014/11/28 Javascript
jqueryUI里拖拽排序示例分析
2015/02/26 Javascript
jquery ui resize 中border-box的bug修正
2015/04/26 Javascript
jquery实现可点击伸缩与展开的菜单效果代码
2015/08/31 Javascript
JavaScript对HTML DOM使用EventListener进行操作
2015/10/21 Javascript
图解Sublime Text3使用技巧
2015/12/21 Javascript
JS实现图片局部放大或缩小的方法
2016/08/20 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
JavaScript简单拖拽效果(1)
2017/05/17 Javascript
vue实现商城购物车功能
2017/11/27 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
JS严格模式知识点总结
2018/02/27 Javascript
Angularjs中的$apply及优化使用详解
2018/07/02 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
在nuxt中使用路由重定向的实例
2020/11/06 Javascript
python定时检查启动某个exe程序适合检测exe是否挂了
2013/01/21 Python
python持久性管理pickle模块详细介绍
2015/02/18 Python
Python实现Tab自动补全和历史命令管理的方法
2015/03/12 Python
网红编程语言Python将纳入高考你怎么看?
2018/06/07 Python
5款Python程序员高频使用开发工具推荐
2019/04/10 Python
python pytest进阶之fixture详解
2019/06/27 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
Python faker生成器生成虚拟数据代码实例
2020/07/20 Python
Python爬虫之Selenium实现关闭浏览器
2020/12/04 Python
个人优缺点自我评价
2014/01/27 职场文书
考试作弊检讨书
2014/10/21 职场文书
Vue提供的三种调试方式你知道吗
2022/01/18 Vue.js