用途:这是 FastAPI 的知识补丁,基线为 FastAPI 0.115.12(含 Pydantic v2 集成、依赖注入、端点、OpenAPI、中间件、安全、CORS、后台任务、WebSocket、lifespan 事件),覆盖到 2026-07 批次。在改动 FastAPI 应用或其 Pydantic、SQLModel、Starlette、Uvicorn 集成前先读,按任务只读相关参考,但升级前务必核对兼容性与弃用说明。
主要参考文件:upgrading-and-compatibility.md(Python、Pydantic、Starlette、httpx 约束、extras、迁移桥、移除与弃用);dependency-injection.md(yield 作用域与清理、缓存、可调用依赖、注解解析);requests-and-security.md(表单与参数模型、严格 JSON 媒体类型、标签联合、认证状态与 OpenAPI 作用域);responses-and-streaming.md;openapi-and-pydantic.md;frontend-cli-and-docs.md;sqlmodel.md;starlette.md;uvicorn.md。
关键破坏性变更与迁移:版本下限,如 FastAPI 0.125 需 Python 3.9+(3.8 封顶 0.124.4)、0.126 需 Pydantic 2.7+、0.129 需 Python 3.10+、0.133 接受 Starlette 1.x、0.134 需 Starlette 0.46+、0.135.2 需 Pydantic 2.9+;pydantic.v1 桥在 0.128 移除。用 Pydantic 返回注解或 response_model 替代 ORJSONResponse/UJSONResponse;用 a2wsgi.WSGIMiddleware 替代 fastapi.middleware.wsgi.WSGIMiddleware;依赖 fastapi 与 sqlmodel 本体而非 -slim 包;用 lifespan 替代 Starlette 启停回调。0.132 默认拒绝无合法 JSON Content-Type 的请求体,迁移期可用 FastAPI(strict_content_type=False)。0.129.1 起 bytes schema 用 contentMediaType: application/octet-stream。yield 依赖作用域分 function/request,需选覆盖资源使用的最短作用域,且不应把 function 作用域依赖放在 request 作用域父级之下。流式响应分 JSON Lines、原始分块、SSE 三种声明方式,SSE 用 EventSourceResponse 与 ServerSentEvent。安全依赖缺失凭据返回 401,可通过重写 make_not_authenticated_error 改回 403。
限制:本资料仅提供这些主题的参考索引与要点,未提供完整 API 清单、价格、平台或未列出的功能,缺失信息暂未提供。