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中执行shell的两种方法总结
Jan 10 Python
13个最常用的Python深度学习库介绍
Oct 28 Python
python机器学习之神经网络(二)
Dec 20 Python
python3实现字符串的全排列的方法(无重复字符)
Jul 07 Python
python 文本单词提取和词频统计的实例
Dec 22 Python
python3编写ThinkPHP命令执行Getshell的方法
Feb 26 Python
python输出电脑上所有的串口名的方法
Jul 02 Python
python批量处理txt文件的实例代码
Jan 13 Python
keras中的卷积层&池化层的用法
May 22 Python
Python pymysql模块安装并操作过程解析
Oct 13 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 Python
python 管理系统实现mysql交互的示例代码
Dec 06 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安全配置
2006/12/06 PHP
smarty简单应用实例
2015/11/03 PHP
Laravel4中的Validator验证扩展用法详解
2016/07/26 PHP
YII分模块加载路由的实现方法
2018/10/01 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
js 页面传参数时 参数值含特殊字符的问题
2009/12/13 Javascript
div模拟滚动条效果示例代码
2013/10/16 Javascript
利用js动态添加删除table行的示例代码
2013/12/16 Javascript
JS继承用法实例分析
2015/02/05 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
基于JavaScript实现Json数据根据某个字段进行排序
2015/11/24 Javascript
JavaScript遍历求解数独问题的主要思路小结
2016/06/12 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
Javascript动画效果(2)
2016/10/11 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
2017/08/19 Javascript
vue.js实现只弹一次弹框
2018/01/29 Javascript
react native 文字轮播的实现示例
2018/07/27 Javascript
js+canvas实现五子棋小游戏
2020/08/02 Javascript
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
Python json模块使用实例
2015/04/11 Python
Python实现对比不同字体中的同一字符的显示效果
2015/04/23 Python
python验证码识别的实例详解
2016/09/09 Python
python 实现数组list 添加、修改、删除的方法
2018/04/04 Python
python实现公司年会抽奖程序
2019/01/22 Python
在python下读取并展示raw格式的图片实例
2019/01/24 Python
pycharm 安装JPype的教程
2019/08/08 Python
使用python os模块复制文件到指定文件夹的方法
2019/08/22 Python
python__name__原理及用法详解
2019/11/02 Python
Python中os模块功能与用法详解
2020/02/26 Python
测控技术与仪器个人求职信范文
2013/12/30 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
主持稿开场白
2015/06/01 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
Nginx的反向代理实例详解
2021/03/31 Servers