自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 什么是FastAPI 框架的中间件(Middleware),与依赖(Dependencies)的区别

FastAPI中间件(Middleware)是在请求到达路由处理函数前和响应返回客户端前执行的拦截器,用于预处理请求(如日志、鉴权)和后处理响应(如数据格式化)。它基于Starlette的ASGI实现,采用"洋葱模型"工作流程。开发者可通过@app.middleware装饰器或继承BaseHTTPMiddleware类来编写中间件,支持复杂初始化逻辑。常见应用场景包括日志记录、统一响应格式、跨域处理、请求限流和权限校验等。FastAPI内置了CORS中间件和GZip压缩中间件等常用组件。

2025-08-12 21:40:28 432

原创 FastAPI框架的事件回调通知处理机制

事件回调通知是框架在关键节点自动触发的机制,由开发者注册回调函数实现响应。FastAPI提供了startup和shutdown事件:startup在应用启动时执行数据库连接等初始化操作;shutdown在应用关闭时执行资源释放等收尾工作。两者配合形成完整的生命周期管理,实现自动化资源管理。

2025-07-29 20:38:21 366

原创 HTTP请求响应报文头的类型设定

HTTP请求响应报文头中,Content-Type和Accept是两个关键字段。Content-Type描述响应主体的媒体类型(如text/html),而Accept表示客户端期望接收的类型(如application/json)。

2025-07-29 20:32:25 240

原创 什么是cookie和session,及二者之间的关系

Cookie与Session是维持网络会话状态的两种机制:Cookie存储在客户端浏览器(4KB/域名),用于携带SessionID等轻量数据;Session保存在服务器(内存/数据库),存储完整的用户会话信息。协作流程为:服务器生成SessionID并通过Cookie返回给浏览器,后续请求自动携带该ID,服务器据此识别用户。主要区别在于存储位置、容量与安全性:Cookie易被窃取但适合简单偏好设置,Session更安全适合存储登录态等敏感数据。衍生方案包括JWT无状态Token和Redis持久化Sessi

2025-07-11 21:11:10 430

原创 FastAPI-Web项目的model、schema、services和视图函数文件之间的关系

FastAPI项目中典型的分层架构包括:1) Models层负责数据库表映射和ORM操作;2) Schemas层处理数据验证和序列化;3) Services层封装业务逻辑;4) 视图函数层管理HTTP请求/响应。这种分层设计实现了单一职责、提高可测试性、增强安全性,并支持技术栈更换时的业务逻辑复用。数据流向从视图函数开始,经Pydantic验证后交给Services处理业务,最终通过Models与数据库交互。该模式不仅适用于FastAPI+SQLAlchemy组合,其思想也可迁移到Django、Flask等

2025-07-11 16:30:31 850

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除