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单元测试框架unittest简明使用实例
Apr 13 Python
Python中的lstrip()方法使用简介
May 19 Python
Python实现将xml导入至excel
Nov 20 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
Feb 26 Python
python文本数据相似度的度量
Mar 12 Python
儿童python练习实例
May 27 Python
Django项目中用JS实现加载子页面并传值的方法
May 28 Python
Django 使用Ajax进行前后台交互的示例讲解
May 28 Python
python存储16bit和32bit图像的实例
Dec 05 Python
Python闭包思想与用法浅析
Dec 27 Python
使用Python 统计高频字数的方法
Jan 31 Python
flask框架路由常用定义方式总结
Jul 23 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图片上传存储源码并且可以预览
2011/08/26 PHP
探讨PHP中OO之静态关键字以及类常量的详解
2013/06/07 PHP
PHP简单实现DES加密解密的方法
2016/07/12 PHP
phpMyAdmin无法登陆的解决方法
2017/04/27 PHP
兼容ie和firefox js关闭代码
2008/12/11 Javascript
javascript demo 基本技巧
2009/12/18 Javascript
无阻塞加载脚本分析[全]
2011/01/20 Javascript
json2.js的初步学习与了解
2011/10/06 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
javascript-简单的计算器实现步骤分解(附图)
2013/05/30 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
jQuery.extend 函数及用法详细
2015/09/06 Javascript
javascript基础语法学习笔记
2016/01/04 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
Angular.js中angular-ui-router的简单实践
2017/07/18 Javascript
JavaScript实现简单评论功能
2017/08/17 Javascript
Vue常用的几个指令附完整案例
2018/11/06 Javascript
浅谈Webpack多页应用HMR卡住问题
2019/04/24 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python BeautifulSoup设置页面编码的方法
2015/04/03 Python
浅谈flask源码之请求过程
2018/07/26 Python
使用numba对Python运算加速的方法
2018/10/15 Python
Python面向对象总结及类与正则表达式详解
2019/04/18 Python
python复合条件下的字典排序
2020/12/18 Python
什么是用户模式(User Mode)与内核模式(Kernel Mode) ?
2014/07/21 面试题
宣传策划类求职信范文
2014/01/31 职场文书
大二自我鉴定
2014/01/31 职场文书
团代会主持词
2014/04/02 职场文书
建设投标担保书
2014/05/13 职场文书
读群众路线的心得体会
2014/09/03 职场文书
2014年招商工作总结
2014/11/22 职场文书
信息技术远程培训心得体会
2016/01/09 职场文书
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript