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 25 Python
python搭建微信公众平台
Feb 09 Python
使用python实现rsa算法代码
Feb 17 Python
Python对文件操作知识汇总
May 15 Python
Python的面向对象编程方式学习笔记
Jul 12 Python
Python获取本机所有网卡ip,掩码和广播地址实例代码
Jan 22 Python
python将每个单词按空格分开并保存到文件中
Mar 19 Python
pygame游戏之旅 添加游戏介绍
Nov 20 Python
Python3实现统计单词表中每个字母出现频率的方法示例
Jan 28 Python
Python 装饰器原理、定义与用法详解
Dec 07 Python
Python 支持向量机分类器的实现
Jan 15 Python
Python中logging日志的四个等级和使用
Nov 17 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
PHP4与PHP5的时间格式问题
2008/02/17 PHP
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
php读取javascript设置的cookies的代码
2010/04/12 PHP
php visitFile()遍历指定文件夹函数
2010/08/21 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
javascript编程起步(第七课)
2007/02/27 Javascript
ExtJS 2.0实用简明教程 之Border区域布局
2009/04/29 Javascript
javascript 多浏览器 事件大全
2010/03/23 Javascript
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
javascript放大镜效果的简单实现
2013/12/09 Javascript
js代码实现的加入收藏效果并兼容主流浏览器
2014/06/23 Javascript
js获取input长度并根据页面宽度设置其大小及居中对齐
2014/08/22 Javascript
AngularJS入门教程(零):引导程序
2014/12/06 Javascript
JS实现来回出现文字的状态栏特效代码
2015/10/31 Javascript
基于jQuery实现火焰灯效果导航菜单
2017/01/04 Javascript
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
Mint UI实现A-Z字母排序的城市选择列表
2018/12/28 Javascript
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
pm2启动ssr失败的解决方法
2019/06/29 Javascript
Vue实现剪切板图片压缩功能
2020/02/04 Javascript
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
Python使用tkinter库实现文本显示用户输入功能示例
2018/05/30 Python
Python使用random.shuffle()打乱列表顺序的方法
2018/11/08 Python
Python树莓派学习笔记之UDP传输视频帧操作详解
2019/11/15 Python
推荐技术人员一款Python开源库(造数据神器)
2020/07/08 Python
Python列表嵌套常见坑点及解决方案
2020/09/30 Python
用css3制作纸张效果(外翻卷角)
2013/02/01 HTML / CSS
Trip.com香港网站:Ctrip携程旗下,全球最大的网上旅游社之一
2016/08/01 全球购物
英国家电购物网站:Sonic Direct
2019/03/26 全球购物
五型班组建设方案
2014/02/10 职场文书
文明村镇申报材料
2014/05/06 职场文书
党员群众路线承诺书
2014/05/20 职场文书
2014年教师党员自我评价范文
2014/09/22 职场文书
庆祝新中国成立65周年“向国旗敬礼”网上签名寄语
2014/09/27 职场文书
党员学习群众路线心得体会
2014/11/04 职场文书