1. 基础类依赖
1 | from fastapi import Depends, FastAPI |
- 类依赖自动实例化,初始化参数自动绑定请求参数
- 请求流程:
graph TD A[客户端请求] --> B[FastAPI解析skip/limit参数] B --> C[实例化Pagination类] C --> D[注入read_items的pg参数]
2. 初始化参数绑定规则
1 | class ComplexFilter: |
- 类初始化参数自动绑定顺序:
- 路径参数
- 查询参数
- Header参数
- Cookie参数
- 支持所有参数类型注解(str/int/float等)
- 参数验证规则与路径操作函数一致
3. 类方法扩展
1 | class SearchParams: |
- 类中可定义业务逻辑方法(如生成SQL条件)
- 支持属性计算和复杂数据处理
- 推荐在类中实现纯业务逻辑,避免IO操作
4. 依赖项复用场景
1 | class AuthChecker: |
- 跨多接口复用认证逻辑
- 集中管理权限验证规则
- 统一处理错误响应
5. 类依赖 vs 函数依赖
| 特性 | 类依赖 | 函数依赖 |
|---|---|---|
| 参数绑定方式 | 通过__init__方法自动绑定 |
显式声明参数 |
| 业务逻辑封装 | 支持多方法/属性扩展 | 单一返回值 |
| 状态管理 | 支持实例属性存储中间状态 | 无状态 |
| 适用场景 | 复杂参数处理/多步骤验证 | 简单数据转换/快速过滤 |