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装饰器
Jul 27 Python
Python 序列的方法总结
Oct 18 Python
Windows平台Python连接sqlite3数据库的方法分析
Jul 12 Python
matplotlib调整子图间距,调整整体空白的方法
Aug 03 Python
Python3的高阶函数map,reduce,filter的示例详解
Jul 23 Python
python实现修改固定模式的字符串内容操作示例
Dec 30 Python
Python使用OpenPyXL处理Excel表格
Jul 02 Python
Python中的None与 NULL(即空字符)的区别详解
Sep 24 Python
python中常用的数据结构介绍
Jan 12 Python
python Matplotlib基础--如何添加文本和标注
Jan 26 Python
一劳永逸彻底解决pip install慢的办法
May 24 Python
Github 使用python对copilot做些简单使用测试
Apr 14 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 清除网页病毒的方法
2008/12/05 PHP
Zend的MVC机制使用分析(二)
2013/05/02 PHP
必须收藏的23个php实用代码片段
2016/02/02 PHP
php版银联支付接口开发简明教程
2016/10/14 PHP
PHP中OpenSSL加密问题整理
2017/12/14 PHP
php策略模式简单示例分析【区别于工厂模式】
2019/09/25 PHP
Stop SQL Server
2007/06/21 Javascript
jquery select(列表)的操作(取值/赋值)
2009/08/06 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
JavaScript中字符串分割函数split用法实例
2015/04/07 Javascript
JavaScript对象属性检查、增加、删除、访问操作实例
2015/07/08 Javascript
AngularJS 视图详解及示例代码
2016/08/17 Javascript
微信开发 js实现tabs选项卡效果
2016/10/28 Javascript
angular实现商品筛选功能
2017/02/01 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
JavaScript实现栈结构Stack过程详解
2020/03/07 Javascript
python和shell变量互相传递的几种方法
2013/11/20 Python
基于Python的接口测试框架实例
2016/11/04 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
python使用Tkinter实现在线音乐播放器
2018/01/30 Python
Python图像的增强处理操作示例【基于ImageEnhance类】
2019/01/03 Python
python如何使用socketserver模块实现并发聊天
2019/12/14 Python
使用OpenCV实现人脸图像卡通化的示例代码
2021/01/15 Python
Under Armour安德玛德国官网:美国高端运动科技品牌
2019/03/09 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
企业活动策划方案
2014/06/02 职场文书
年终奖发放方案
2014/06/02 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
中标通知书格式
2015/04/17 职场文书
教师年度考核自我评鉴
2015/08/11 职场文书
学习经验交流会策划书
2015/11/02 职场文书
大学副班长竞选稿
2015/11/21 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL