flask项目集成swagger的方法
作者:种树飞 发布时间:2022-08-04 09:00:48
标签:flask,集成,swagger
此次主要介绍介绍在flask框架中如何集成swagger文档, 我们知道以前给同事提供接口文档主要是写一个文档, 当遇到频繁修改时,就需要更新文档非常麻烦, 这时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文档,如下图:
好了,至此我们已经集成好了swagger文档, 需要更详细得内容可以参考官网文档, 比方更改文档地址等。
来源:https://www.cnblogs.com/lifei01/p/13797889.html


猜你喜欢
- 近些年随着Python语言越来越流行,越来越多的人选择Python语言作为自己的职业方向。如何在心仪公司的面试中获得好成绩,并最终成功获得o
- 继SQl -Function创建函数数据库输出的结果用逗号隔开,在开发中也有许多以参数的形式传入带逗号字条串参数(数据大时不建议这样做)例:
- 在SQL Server 2005数据库还原的过程中出现错误:备份集中的数据库备份与现有的'xxxx'数据库不同,网上找了几个
- 本文主要介绍了Vue动态修改title的方法,需要的朋友可以参考学习,方法如下:1.通过自定义指令去修改(单个修改比较好)//1.在main
- 第一种方法:原理比较简单通过判断当前是隐藏还是显示的,并以此来判断。<script language="javascript
- 目录一、概念描述二、序列的可迭代性三、经典的迭代器模式四、生成器也是迭代器五、实现惰性迭代器六、使用生成器表达式简化惰性迭代器总结一、概念描
- 参考网上的例子,实现了简单的matplotlib pyqt5绘图 相关知识点: (1)pyqt5中添加控件要在布局中添
- 目录一.准备数据创建数据表插入数据二.SQL演练1. SQL语句的强化2. 创建 "商品分类"" 表3. 同步
- 当单台MYSQL服务器无法满足当前网站流量时的优化方案。需要搭建mysql集群技术。一、功能:当向主服务器插入|修改|删除数据时,数据会自动
- 本文实例讲述了Python使用defaultdict读取文件各列的方法。分享给大家供大家参考,具体如下:#!/usr/bin/python&
- 本文实例讲述了python分支、循环简单用法。分享给大家供大家参考,具体如下:讲程序设计,不得不讲到顺序、分支、循环。顺序就是从上到下运行代
- 这篇文章主要介绍了Java正则表达式Pattern和Matcher原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参
- 看到类似__slots__这种形如__xxx__的变量或者函数名就要注意,这些在Python中是有特殊用途的。__slots__我们已经知道
- 一、简单使用def TestLogBasic(): import logging  
- 引用集:using System.Data.OleDb;static string exePath = System.Environment
- 开发中遇到过问题就是对时间以半个小时分钟分组,如统计08:00-08:30的人数,08:30-09:00的人数,貌似sql中没有这样的函数吧
- 这里提供在使用python进行开发中常使用到的方法技巧,如有不对欢迎批评指正。要点:开发中类、变量特性查询,类型就是类,断言的使用,深浅复制
- 我在网上找到了一篇文章,简直堪称神器。刚开始用brew search mysql ...能找到,按照提示一步一步安装,结果到最后就是启动不起
- 当我想要完美的使用:nth-child或者:nth-of-type的时候有点儿头晕。你越理解它们,就能写出越好的CSS规则!在这些简单的”秘
- 数据科学领域日常使用 Python 处理大规模数据集的时候经常需要使用到合并、链接的方式进行数据集的整合,其中应用的数据类型包括 Serie