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 13 Python
python中的随机函数小结
Jan 27 Python
Python生成器generator用法示例
Aug 10 Python
Python3中内置类型bytes和str用法及byte和string之间各种编码转换 问题
Sep 27 Python
django之跨表查询及添加记录的示例代码
Oct 16 Python
python3 实现一行输入,空格隔开的示例
Nov 14 Python
简单了解django缓存方式及配置
Jul 19 Python
Django模型修改及数据迁移实现解析
Aug 01 Python
django之自定义软删除Model的方法
Aug 14 Python
tensorflow 报错unitialized value的解决方法
Feb 06 Python
解决keras加入lambda层时shape的问题
Jun 11 Python
Python内置的数据类型及使用方法
Apr 13 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设计模式 Template (模板模式)
2011/06/26 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
JavaScript字符串插入、删除、替换函数使用示例
2013/07/25 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
基于jquery实现发送文章到手机的代码
2014/12/26 Javascript
js实现Form栏显示全格式时间时钟效果代码
2015/08/19 Javascript
jquery中表单 多选框的一种巧妙写法
2015/09/06 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
python保存字符串到文件的方法
2015/07/01 Python
Python实现连接postgresql数据库的方法分析
2017/12/27 Python
解决Python运行文件出现out of memory框的问题
2018/12/03 Python
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
pygame实现非图片按钮效果
2019/10/29 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
通过Python pyecharts输出保存图片代码实例
2020/11/25 Python
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
潘多拉意大利官方网上商城:网上选购PANDORA珠宝
2018/10/07 全球购物
应届大学生求职信
2013/12/01 职场文书
大学毕业感言
2014/01/10 职场文书
集体备课反思
2014/02/12 职场文书
企业员工集体活动方案
2014/08/17 职场文书
党员转正介绍人意见
2015/06/03 职场文书
运动会闭幕式主持词
2015/07/01 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书
Python的flask接收前台的ajax的post数据和get数据的方法
2021/04/12 Python
用Python将库打包发布到pypi
2021/04/13 Python
MySQL Shell的介绍以及安装
2021/04/24 MySQL
Python排序算法之插入排序及其优化方案详解
2021/06/11 Python
宝塔更新Python及Flask项目的部署
2022/04/11 Python