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基础教程
Feb 05 Python
python 中random模块的常用方法总结
Jul 08 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
Feb 22 Python
python爬虫爬取淘宝商品信息
Feb 23 Python
Python实现登陆文件验证方法
Oct 06 Python
python读出当前时间精度到秒的代码
Jul 05 Python
Jupyter notebook如何实现指定浏览器打开
May 13 Python
Python制作数据预测集成工具(值得收藏)
Aug 21 Python
python里反向传播算法详解
Nov 22 Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 Python
django注册用邮箱发送验证码的实现
Apr 18 Python
Python 中的 copy()和deepcopy()
Nov 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
解决dede生成静态页和动态页转换的一些问题,及火车采集入库生成动态的办法
2007/03/29 PHP
session 加入redis的实现代码
2016/07/15 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
增强的 JavaScript 的 trim 函数的代码
2007/08/13 Javascript
比较新旧两个数组值得增加和删除的JS代码
2013/10/30 Javascript
JavaScript的设计模式经典之代理模式
2016/02/24 Javascript
BootStrap的JS插件之轮播效果案例详解
2016/05/16 Javascript
关于List.ToArray()方法的效率测试
2016/09/30 Javascript
vue.js表格组件开发的实例详解
2016/10/12 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
利用JS屏蔽页面中的Enter按键提交表单的方法
2016/11/25 Javascript
javascript观察者模式实现自动刷新效果
2017/09/05 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
javascript回调函数详解
2018/02/06 Javascript
vue-cli3环境变量与分环境打包的方法示例
2019/02/18 Javascript
jQuery 筛选器简单操作示例
2019/10/02 jQuery
这15个Vue指令,让你的项目开发爽到爆
2019/10/11 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
详解Vue2的diff算法
2021/01/06 Vue.js
python实现sublime3的less编译插件示例
2014/04/27 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
PyQt5每天必学之弹出消息框
2018/04/19 Python
python实现任意位置文件分割的实例
2018/12/14 Python
Pycharm以root权限运行脚本的方法
2019/01/19 Python
关于win10在tensorflow的安装及在pycharm中运行步骤详解
2020/03/16 Python
解析Tensorflow之MNIST的使用
2020/06/30 Python
如何用python批量调整视频声音
2020/12/22 Python
实例讲解利用HTML5 Canvas API操作图形旋转的方法
2016/03/22 HTML / CSS
利用canvas实现图片压缩的示例代码
2018/07/17 HTML / CSS
查环查孕证明
2014/01/10 职场文书
授权委托书怎么写
2014/09/25 职场文书
关于对大人不礼貌的检讨书
2014/09/29 职场文书
团日活动总结格式
2015/05/11 职场文书
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python