flask项目集成swagger的方法


Posted in Python onDecember 09, 2020

 

此次主要介绍介绍在flask框架中如何集成swagger文档, 我们知道以前给同事提供接口文档主要是写一个文档, 当遇到频繁修改时,就需要更新文档非常麻烦, 这时swagger文档就出现了,一个在线得接口文档,同事可以在线上查看接口文档, 当需要修改接口时秩序修改对应得代码,文档也会随之更新。如下图所示。

flask项目集成swagger的方法

此次集成参考flask-restplus官方文档,flask-restplus框架是flask-restful框架的一个加强版, 类似django框架的rest framework框架,应用前得先安装框架执行命令:

pip install flask-restplus

然后结合官网写个简单示例感受一下:

from flask import Flask
from flask_restplus import Api, Resource, fields, reqparse

app = Flask(__name__)
api = Api(app, version='1.0', title='TodoMVC API', description='A simple TodoMVC API',)

ns = api.namespace('todo', description='TODO operations')               # 模块命名空间

todo = api.model('Todo', {                               # 返回值模型
  'id': fields.Integer(readonly=True, description='The task unique identifier'),
  'task': fields.String(required=True, description='The task details')
})

parser = reqparse.RequestParser()                      # 参数模型
parser.add_argument('id', type=str, required=True, help="id")
parser.add_argument('name', type=str, required=True, help="名称")
parser.add_argument('volume', type=int, required=True, help="方量")


class TodoDAO(Resource):
  def __init__(self, *args, **kwargs):
    super().__init__(*args, **kwargs)
    self.params = parser.parse_args()

  @ns.expect(parser)                  # 用于解析对应文档参数,             
  @ns.response(200, "success response", todo)      # 对应解析文档返回值
  def get(self):
    return self.params


ns.add_resource(TodoDAO, "/to", endpoint="to_do")

app.run()

我们启动得地址为127.0.0.1:5000得地址, 然后我们只需在浏览器打开即可查看自己写好得api文档,如下图:

flask项目集成swagger的方法

好了,至此我们已经集成好了swagger文档, 需要更详细得内容可以参考官网文档, 比方更改文档地址等。

以上就是flask项目集成swagger的方法的详细内容,更多关于flask项目集成swagger的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
简单使用Python自动生成文章
Dec 25 Python
Python脚本在Appium库上对移动应用实现自动化测试
Apr 17 Python
wxPython中listbox用法实例详解
Jun 01 Python
Python 专题三 字符串的基础知识
Mar 19 Python
python 将数据保存为excel的xls格式(实例讲解)
May 03 Python
python实现爬取图书封面
Jul 05 Python
十个Python练手的实战项目,学会这些Python就基本没问题了(推荐)
Apr 26 Python
基于python求两个列表的并集.交集.差集
Feb 10 Python
Python实现加密的RAR文件解压的方法(密码已知)
Sep 11 Python
手把手教你从PyCharm安装到激活(最新激活码),亲测有效可激活至2089年
Nov 25 Python
Cpython解释器中的GIL全局解释器锁
Nov 09 Python
python 爬取天气网卫星图片
Jun 07 Python
python的dict判断key是否存在的方法
Dec 09 #Python
python RSA加密的示例
Dec 09 #Python
python中把元组转换为namedtuple方法
Dec 09 #Python
python不同版本的_new_不同点总结
Dec 09 #Python
python中_del_还原数据的方法
Dec 09 #Python
call在Python中改进数列的实例讲解
Dec 09 #Python
python中的对数log函数表示及用法
Dec 09 #Python
You might like
php at(@)符号的用法简介
2009/07/11 PHP
php数组函数序列之each() - 获取数组当前内部指针所指向元素的键名和键值,并将指针移到下一位
2011/10/31 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
2011/12/28 PHP
对象失去焦点时自己动提交数据的实现代码
2012/11/06 PHP
实例详解PHP中html word 互转的方法
2016/01/28 PHP
Laravel框架基础语法与知识点整理【模板变量、输出、include引入子视图等】
2019/12/03 PHP
汉化英文版的Dreamweaver CS5并自动提示jquery
2010/11/25 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
jQuery实现的图文高亮滚动切换特效实例
2015/08/10 Javascript
基于AngularJS拖拽插件ngDraggable.js实现拖拽排序功能
2019/04/02 Javascript
react-native滑动吸顶效果的实现过程
2019/06/03 Javascript
vue 父组件通过v-model接收子组件的值的代码
2019/10/27 Javascript
vue项目使用高德地图的定位及关键字搜索功能的实例代码(踩坑经验)
2020/03/07 Javascript
js观察者模式的弹幕案例
2020/11/23 Javascript
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
Python yield与实现方法代码分析
2018/02/06 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
python实现词法分析器
2019/01/31 Python
解决win7操作系统Python3.7.1安装后启动提示缺少.dll文件问题
2019/07/15 Python
Python绘制股票移动均线的实例
2019/08/24 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
在tensorflow中设置使用某一块GPU、多GPU、CPU的操作
2020/02/07 Python
Pandas时间序列:时期(period)及其算术运算详解
2020/02/25 Python
Python matplotlib绘制图形实例(包括点,曲线,注释和箭头)
2020/04/17 Python
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
波兰在线杂货店:Polski Koszyk
2019/11/02 全球购物
酒店总经理助理岗位职责
2014/02/01 职场文书
爱晚亭导游词
2015/02/09 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书
党支部季度考核意见
2015/06/02 职场文书
百万英镑观后感
2015/06/09 职场文书
信用卡收入证明范本
2015/06/12 职场文书
银行服务理念口号
2015/12/25 职场文书
Win10 最新稳定版本 21H2开始推送
2022/04/19 数码科技