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 相关文章推荐
在Python3中初学者应会的一些基本的提升效率的小技巧
Mar 31 Python
Python实现遍历目录的方法【测试可用】
Mar 22 Python
安装python时MySQLdb报错的问题描述及解决方法
Mar 20 Python
pycharm在调试python时执行其他语句的方法
Nov 29 Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 Python
详解python:time模块用法
Mar 25 Python
Linux上使用Python统计每天的键盘输入次数
Apr 17 Python
Python 计算任意两向量之间的夹角方法
Jul 05 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
Feb 04 Python
Django form表单与请求的生命周期步骤详解
Jun 07 Python
Python应用实现双指数函数及拟合代码实例
Jun 19 Python
python元组拆包实现方法
Feb 28 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 函数语法介绍一
2009/06/14 PHP
php学习之变量的使用
2011/05/29 PHP
php多文件上传功能实现原理及代码
2013/04/18 PHP
Zend Framework 2.0事件管理器(The EventManager)入门教程
2014/08/11 PHP
php数组保存文本与文本反编成数组实例
2014/11/13 PHP
php 流程控制switch的简单实例
2016/06/07 PHP
Jquery Select操作方法集合脚本之家特别版
2010/05/17 Javascript
JavaScript 实现类的多种方法实例
2013/05/01 Javascript
node.js中的fs.lchmod方法使用说明
2014/12/16 Javascript
JavaScript中的包装对象介绍
2015/01/27 Javascript
浅谈js中test()函数在正则中的使用
2016/08/19 Javascript
bootstrap动态调用select下拉框的实例代码
2018/08/09 Javascript
jQuery实现ajax的嵌套请求案例分析
2019/02/16 jQuery
javascript操作元素的常见方法小结
2019/11/13 Javascript
jquery实现点击弹出对话框
2020/02/08 jQuery
python函数缺省值与引用学习笔记分享
2013/02/10 Python
Python批量更改文件名的实现方法
2017/10/29 Python
python实现人脸识别代码
2017/11/08 Python
Python线性回归实战分析
2018/02/01 Python
python序列类型种类详解
2020/02/26 Python
keras:model.compile损失函数的用法
2020/07/01 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
香港礼品网站:GiftU eshop
2017/09/01 全球购物
意大利制造的西装、衬衫和针对男士量身定制的服装:Lanieri
2018/04/08 全球购物
模具设计与制造专业应届生求职信
2013/10/18 职场文书
党风廉政建设责任书
2014/04/14 职场文书
产品包装策划方案
2014/05/18 职场文书
代理人委托书
2014/09/16 职场文书
医院领导班子四风问题对照检查材料
2014/10/26 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
仅用一句SQL更新整张表的涨跌幅、涨跌率的解决方案
2021/05/06 MySQL
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
MySQL之MyISAM存储引擎的非聚簇索引详解
2022/03/03 MySQL
Shell中的单中括号和双中括号的用法详解
2022/12/24 Servers