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制作简单的朴素基数估计器的教程
Apr 01 Python
Python打印scrapy蜘蛛抓取树结构的方法
Apr 08 Python
Python中处理字符串之isalpha()方法的使用
May 18 Python
python判断计算机是否有网络连接的实例
Dec 15 Python
python PrettyTable模块的安装与简单应用
Jan 11 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
Jul 01 Python
在python中创建指定大小的多维数组方式
Nov 28 Python
Flask项目中实现短信验证码和邮箱验证码功能
Dec 05 Python
Python实现LR1文法的完整实例代码
Oct 25 Python
python连接mongodb数据库操作数据示例
Nov 30 Python
python如何正确使用yield
May 21 Python
python用tkinter开发的扫雷游戏
Jun 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
discuz图片顺序混乱解决方案
2015/07/29 PHP
php指定长度分割字符串str_split函数用法示例
2017/01/30 PHP
PHP利用Socket获取网站的SSL证书与公钥
2017/06/18 PHP
CodeIgniter框架数据库基本操作示例
2018/05/24 PHP
jsvascript图像处理—(计算机视觉应用)图像金字塔
2013/01/15 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
JavaScript中的getTime()方法使用详解
2015/06/10 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
jQuery实现键盘回车搜索功能
2017/07/25 jQuery
微信小程序dom操作的替代思路实例分析
2018/12/06 Javascript
详解vue 动态加载并注册组件且通过 render动态创建该组件
2019/05/30 Javascript
详解element-ui 表单校验 Rules 配置 常用黑科技
2020/07/11 Javascript
分享8个JavaScript库可更好地处理本地存储
2020/10/12 Javascript
在Python的Django框架下使用django-tagging的教程
2015/05/30 Python
python 读写中文json的实例详解
2017/10/29 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
python实现将汉字保存成文本的方法
2018/11/16 Python
Python @property装饰器原理解析
2020/01/22 Python
在PyCharm中遇到pip安装 失败问题及解决方案(pip失效时的解决方案)
2020/03/10 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
HTML5 audio标签使用js进行播放控制实例
2015/04/24 HTML / CSS
Html5应用程序缓存(Cache manifest)
2018/06/04 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
小天鹅官方商城:LittleSwan
2017/06/16 全球购物
写好求职信第一句话的技巧
2013/10/26 职场文书
交通事故协议书范文
2014/04/16 职场文书
英语四级考试作弊检讨书
2014/09/29 职场文书
社区好人好事材料
2014/12/26 职场文书
保管员岗位职责
2015/02/14 职场文书
教师师德表现自我评价
2015/03/05 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
关于感恩的素材句子(38句)
2019/11/11 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python