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的微信聊天机器人示例代码
Mar 03 Python
Python实现的爬取网易动态评论操作示例
Jun 06 Python
Python操作mongodb数据库进行模糊查询操作示例
Jun 09 Python
Django实现登录随机验证码的示例代码
Jun 20 Python
Python基于多线程操作数据库相关问题分析
Jul 11 Python
python通过TimedRotatingFileHandler按时间切割日志
Jul 17 Python
Python数据分析模块pandas用法详解
Sep 04 Python
pygame实现烟雨蒙蒙下彩虹雨
Nov 11 Python
Django 设置多环境配置文件载入问题
Feb 25 Python
python GUI库图形界面开发之PyQt5图片显示控件QPixmap详细使用方法与实例
Feb 27 Python
Python range与enumerate函数区别解析
Feb 28 Python
利用pipenv和pyenv管理多个相互独立的Python虚拟开发环境
Nov 01 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常用的文件操作函数经典收藏
2013/04/02 PHP
destoon数据库表说明汇总
2014/07/15 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
Yii操作数据库实现动态获取表名的方法
2016/03/29 PHP
php生成Android客户端扫描可登录的二维码
2016/05/13 PHP
thinkPHP5.0框架命名空间详解
2017/03/18 PHP
javascript 在网页中的运用(asp.net)
2009/11/23 Javascript
javascript 拖放效果实现代码
2010/01/22 Javascript
基于Jquery+Ajax+Json的高效分页实现代码
2011/10/29 Javascript
复制js对象方法(详解)
2013/07/08 Javascript
js数值计算时使用parseInt进行数据类型转换(jquery)
2014/10/07 Javascript
初步认识JavaScript函数库jQuery
2015/06/18 Javascript
JavaScript手机振动API
2016/06/11 Javascript
Google 地图获取API Key详细教程
2016/08/06 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
[01:05:56]Liquid vs VP Supermajor决赛 BO 第二场 6.10
2018/07/04 DOTA
numpy.random模块用法总结
2019/05/27 Python
python ChainMap的使用和说明详解
2019/06/11 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
Python venv虚拟环境配置过程解析
2020/07/08 Python
LightInTheBox西班牙站点:全球商品在线采购
2016/09/22 全球购物
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
Rodd & Gunn澳大利亚官网:新西兰男装品牌
2018/09/25 全球购物
英语专业推荐信
2013/11/16 职场文书
爱耳日活动总结
2014/04/30 职场文书
踏青活动策划方案
2014/08/19 职场文书
公积金贷款承诺书
2015/04/30 职场文书
项目合作意向书
2015/05/08 职场文书
圆明园观后感
2015/06/03 职场文书
生日赠语
2015/06/23 职场文书
小学体育组工作总结2015
2015/07/21 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
写作之关于描写老人的好段摘抄
2019/11/14 职场文书
CSS巧用渐变实现高级感背景光动画
2021/12/06 HTML / CSS