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 字符串操作实现代码(截取/替换/查找/分割)
Jun 08 Python
Python在Windows和在Linux下调用动态链接库的教程
Aug 18 Python
Python编程中的for循环语句学习教程
Oct 14 Python
Python开发的HTTP库requests详解
Aug 29 Python
使用Python处理BAM的方法
Sep 28 Python
python使用for循环计算0-100的整数的和方法
Feb 01 Python
Django后台admin的使用详解
Jul 08 Python
python实现将文件夹内的每张图片批量分割成多张
Jul 22 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
Aug 12 Python
在PyTorch中Tensor的查找和筛选例子
Aug 18 Python
python使用pandas抽样训练数据中某个类别实例
Feb 28 Python
python logging模块的使用详解
Oct 23 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中error_reporting()函数的用法(修改PHP屏蔽错误)
2011/07/01 PHP
php遍历目录输出目录及其下的所有文件示例
2014/01/27 PHP
PHP的switch判断语句的“高级”用法详解
2014/10/01 PHP
PHP5.5迭代生成器用法实例详解
2016/03/16 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
JQuery SELECT单选模拟jQuery.select.js
2009/11/12 Javascript
JavaScript 错误处理与调试经验总结
2010/08/10 Javascript
js和php如何获取当前url的内容
2013/09/22 Javascript
javascript获取checkbox复选框获取选中的选项
2014/08/12 Javascript
在JS数组特定索引处指定位置插入元素的技巧
2014/08/24 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
AngularJS之依赖注入模拟实现
2016/08/19 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
2018/02/28 Javascript
JS函数进阶之prototy用法实例分析
2020/01/15 Javascript
Vue Router中应用中间件的方法
2020/08/06 Javascript
vue动态设置页面title的方法实例
2020/08/23 Javascript
python修改操作系统时间的方法
2015/05/18 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
简单分析python的类变量、实例变量
2019/08/23 Python
python2.7实现复制大量文件及文件夹资料
2019/08/31 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
python模拟预测一下新型冠状病毒肺炎的数据
2020/02/01 Python
Python换行与不换行的输出实例
2020/02/19 Python
python3实现将json对象存入Redis以及数据的导入导出
2020/07/16 Python
利用css3实现的简单的鼠标悬停按钮
2014/11/04 HTML / CSS
蛋白质世界:Protein World
2017/11/23 全球购物
幼儿园家长评语
2014/02/10 职场文书
古汉语文学求职信范文
2014/03/16 职场文书
中国入世承诺
2014/04/01 职场文书
高中生社会实践心得体会
2016/01/14 职场文书
《自己去吧》教学反思
2016/02/16 职场文书
健身房被搭讪?用python写了个小米计时器助人为乐
2021/06/08 Python
Golang 语言控制并发 Goroutine的方法
2021/06/30 Golang
以MySQL5.7为例了解一下执行计划
2022/04/13 MySQL
SQL Server数据库备份和恢复数据库的全过程
2022/06/14 SQL Server