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简单实现enum功能的方法
Apr 25 Python
python机器学习实战之最近邻kNN分类器
Dec 20 Python
Python自定义线程池实现方法分析
Feb 07 Python
Python操作MySQL模拟银行转账
Mar 12 Python
python smtplib发送带附件邮件小程序
May 22 Python
python验证码识别教程之滑动验证码
Jun 04 Python
pandas 将索引值相加的方法
Nov 15 Python
PyQt5图形界面播放音乐的实例
Jun 17 Python
Django--权限Permissions的例子
Aug 28 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
Mar 06 Python
Python快速优雅的批量修改Word文档样式
May 20 Python
基于Python实现流星雨效果的绘制
Mar 18 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函数array_merge用法一例(合并同类数组)
2013/02/03 PHP
深入file_get_contents函数抓取内容失败的原因分析
2013/06/25 PHP
php的webservice的wsdl的XML无法显示问题的解决方法
2014/03/11 PHP
php metaphone()函数及php localeconv() 函数实例解析
2016/05/15 PHP
Laravel框架实现修改登录和注册接口数据返回格式的方法
2018/08/17 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
CSS和Javascript简单复习资料
2010/06/29 Javascript
javascript实现动态改变层大小的方法
2015/05/14 Javascript
jQuery实现的导航下拉菜单效果示例
2016/09/05 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
jQuery autoComplete插件两种使用方式及动态改变参数值的方法详解
2016/10/24 Javascript
微信小程序 template模板详解及实例
2017/02/21 Javascript
jQuery实现手势解锁密码特效
2017/08/14 jQuery
MVVM框架下实现分页功能示例
2018/06/14 Javascript
Vue自定义全局弹窗组件操作
2020/08/11 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
python通过floor函数舍弃小数位的方法
2015/03/17 Python
Django学习教程之静态文件的调用详解
2018/05/08 Python
对django后台admin下拉框进行过滤的实例
2019/07/26 Python
快速了解Python开发环境Spyder
2020/06/29 Python
Python 使用双重循环打印图形菱形操作
2020/08/09 Python
使用CSS3在触屏上为按钮实现激活效果
2013/09/27 HTML / CSS
把富文本的回车转为br标签
2019/08/09 HTML / CSS
HTML5标签使用方法详解
2015/11/27 HTML / CSS
彪马法国官网:PUMA法国
2019/12/15 全球购物
2013年研究生毕业感言
2014/02/06 职场文书
2014年清明节网上祭英烈寄语
2014/04/09 职场文书
竞选学习委员演讲稿
2014/09/01 职场文书
软件研发工程师岗位职责
2014/09/30 职场文书
社区六一儿童节活动总结
2015/02/11 职场文书
酒桌上的开场白
2015/06/01 职场文书
2016学习依法治国心得体会
2016/01/15 职场文书
2016优秀护士求职自荐信
2016/01/28 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
如何搭建 MySQL 高可用高性能集群
2021/06/21 MySQL
解决使用了nginx获取IP地址都是127.0.0.1 的问题
2021/09/25 Servers