Python Flask swagger自动生成文档

news/2024/12/29 8:32:53/

首先安装依赖:

pip install flask_siwadoc pydantic

封装swagger.py文件,代码如下:

from flask_siwadoc import SiwaDoc
siwa = SiwaDoc()

然后在主应用中(项目入口文件)加入以下代码:

from flask import Flask
from swagger import siwa #导入它
app = Flask(__name__)
siwa.init_app(app)

在user.py中加入以下代码:

from flask import Blueprint,request, session
from swagger import siwa #导入它
from pydantic import BaseModel, Field
user_bp = Blueprint('user', __name__, url_prefix='/user')
class loginModel(BaseModel):username:str=Field(...)password:str=Field(...)
@user_bp.route('/login', methods=['POST'])
@siwa.doc(body=loginModel,tags=["user"])
def user_login(body:loginModel):reqJSONData = request.get_json(silent=True)print(reqJSONData)if not reqJSONData: return r(code=401, msg='登录失败, 请求参数为空')username = reqJSONData.get('username')password = reqJSONData.get('password')if not all([username, password]):return r(code=401, msg='登录, 缺少请求参数')user = supabase.table('sys_user').select('id,username,name').eq('username',username).eq('password',password).execute().data# 4. 用户不存在, 直接返回if not user:return r(code=404, msg='用户名或密码错误')else:access_token = create_access_token(identity=user[0])session['user_info'] = userreturn r(msg='登录成功', data={"token":access_token})


http://www.ppmy.cn/news/1073765.html

相关文章

go语言 go mod生成

1. go hello world 创建文件夹gotest,在其中创建test1.go文件,并写入 package mainimport ("fmt" )func main() {fmt.Println("hello world") } 运行命令 go run test1.go 可以看到输出hello world 2. cli 命令行的使用 代码如下…

C++八股记录

C内存管理 C中,内存分成5个区。 栈:函数内局部变量;自动管理,效率高,但空间较小; 堆:new分配的内存块;手动管理,效率低,但空间大; 自由存储区&…

一篇掌握高级交换技术原理与配置(三):QINQ

一、概述 随着以太网技术在网络中的大量部署,利用VLAN对用户进行隔离和标识受到很大限制。因为IEEE802.1Q中定义的VLAN Tag域只有12个比特,仅能表示4096个VLAN,无法满足城域以太网中标识大量用户的需求,于是QinQ技术应运而生。 …

《动手学深度学习》-57长短期记忆网络LSTM

沐神版《动手学深度学习》学习笔记,记录学习过程,详细的内容请大家购买书籍查阅。 b站视频链接 开源教程链接 长短期记忆网络(LSTM) 长期以来,隐变量模型存在长期信息保存和短期输入缺失的问题。解决这一问题的最早…

万人在线,一站式自动化运维 SysOM 3.0重磅发布!龙蜥社区系统运维 MeetUp 回顾来了

8 月 12 日,由龙蜥社区系统运维 SIG 主办,乘云数字协办的,主题为“观测,让运维更简单!”的系统运维 MeetUp 于杭州圆满结束。来自乘云数字、谐云科技、乐维、云杉网络、擎创科技、观测云、阿里云以及浙江大学等众多厂商…

同方知网与华为云签署合作协议,共同打造人工智能联合创新实验室

8月30日,在华为云盘古大模型主题论坛上,同方知网数字出版技术股份有限公司与华为云计算技术有限公司正式签署了中华知识大模型及人工智能联合创新实验室合作协议。 这一合作将以华为云盘古大模型为基础,致力于打造知识服务行业的AI大模型&…

Vim快捷键及使用技巧

Vim的几种模式: ● 普通模式:打开文件时的默认模式,在其他模式下按下ESC键都可返回到该模式。 ● 插入模式:按i/o/a键进入该模式,进行文本编辑操作,不同之处在于插入字符的位置在光标之前还是之后。 ● 命令行模式:普通模式下输入冒号(:)后会进入该模式,在该模式…

教你实现一个深浅拷贝!

浅拷贝的原理与实现 对于浅拷贝的定义我们可以初步理解为: 自己创建一个新的对象,来接受你要重新复制或引用的对象值。如果对象属性是基本的数据类型,复制的就是基本类型的值给新对象;但如果属性是引用数据类型,复制的…