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 13 Python
深入理解Python中变量赋值的问题
Jan 12 Python
Python 和 JS 有哪些相同之处
Nov 23 Python
Python爬虫常用库的安装及其环境配置
Sep 19 Python
详解pytorch 0.4.0迁移指南
Jun 16 Python
用python生成(动态彩色)二维码的方法(使用myqr库实现)
Jun 24 Python
python实现自动化上线脚本的示例
Jul 01 Python
pytorch 修改预训练model实例
Jan 18 Python
40行Python代码实现天气预报和每日鸡汤推送功能
Feb 27 Python
新建文件时Pycharm中自动设置头部模板信息的方法
Apr 17 Python
Python如何实现FTP功能
May 28 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 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
phpmyadmin的#1251问题
2006/11/25 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
php+mysql实现无限分类实例详解
2015/01/15 PHP
PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例
2019/02/25 PHP
Javascript结合css实现网页换肤功能
2009/11/02 Javascript
jQuery学习3:操作元素属性和特性
2010/02/07 Javascript
JavaScript面向对象设计二 构造函数模式
2011/12/20 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
setInterval与clearInterval的使用示例代码
2014/01/28 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
2015/03/18 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
js移动焦点到最后位置的简单方法
2016/11/25 Javascript
js 颜色选择插件
2017/01/23 Javascript
Webpack中publicPath路径问题详解
2018/05/03 Javascript
记React connect的几种写法(小结)
2018/09/18 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
python杀死一个线程的方法
2015/09/06 Python
Python基础学习之常见的内建函数整理
2017/09/06 Python
使用Scrapy爬取动态数据
2018/10/21 Python
python numpy库linspace相同间隔采样的实现
2020/02/25 Python
Python基于smtplib协议实现发送邮件
2020/06/03 Python
Bodum官网:咖啡和茶壶、玻璃器皿、厨房电器等
2018/08/01 全球购物
捷克家电和家具购物网站:OKAY.cz
2020/07/23 全球购物
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
工程业务员工作职责
2013/12/07 职场文书
大学新生军训方案
2014/05/03 职场文书
我心目中的好老师活动方案
2014/08/19 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
物价局领导班子四风问题整改措施
2014/10/26 职场文书
公司承诺书格式范文
2015/04/28 职场文书
2015年酒店年度工作总结
2015/05/23 职场文书
python前后端自定义分页器
2022/04/13 Python
Python开发简易五子棋小游戏
2022/05/02 Python