用途:FastAPI 是基于 Python 标准类型提示的现代 Web 框架,用于构建 API,可自动校验请求并生成 OpenAPI 文档。本技能面向路由、校验、认证、中间件、lifespan 与响应模型等场景。
主要能力:用 Pydantic 模型做请求与响应校验和序列化,支持字段约束(如 Field(min_length=1)、ge/le)与 EmailStr;用 APIRouter 按资源拆分路由;用依赖注入管理数据库会话与认证;用 HTTPException 与自定义异常处理器处理错误;用 response_model 或返回注解过滤结构化输出。
使用方式:定义 FastAPI 应用与 Pydantic 模型,编写路由函数并声明返回类型;用 uvicorn main:app --reload 运行。依赖注入示例中,get_db 以 yield 提供 Session,DbSession = Annotated[Session, Depends(get_db)];依赖只负责清理,写入事务边界由应用服务用 with db.begin(): 控制,yield 依赖清理默认在响应之后,需在发送前完成时用 Depends(get_db, scope="function")。
适用场景:构建 REST API、需要自动文档与类型校验的 Python 后端服务。
限制与注意:仅对 await 的 I/O 使用 async def,阻塞库用 def;应用级资源用 FastAPI(lifespan=...);直接返回 Response 子类、文件或流时可有意省略 response_model。资料未提供收费、平台与效果信息。