网页
综合
更新时间 2026-11-14 05:19:37
FastAPI - FastAPI
自动蜘蛛
fastapi.tiangolo.com
正文约 1679 字
你可以通过帮助我们更好地引导 AI LLM来改进此翻译。
FastAPI 框架,高性能,易于学习,高效编码,生产可用
文档: https://fastapi.tiangolo.com/zh
源码: https://github.com/fastapi/fastapi
FastAPI 是一个用于构建 API 的现代、快速(高性能)的 Web 框架,使用 Python 并基于标准的 Python 类型提示。
Use the official FastAPI skill for your installed version. Install it from your project directory:
See Develop with AI.
* 基于某内部开发团队在构建生产应用时的测试估算。
「[...] 我最近大量使用 FastAPI。[...] 我实际上计划把它用于我团队在 微软的所有机器学习(ML)服务。其中一些正在集成进核心 Windows 产品以及一些 Office 产品。」
「我们采用 FastAPI 库来启动一个可查询以获取预测结果的 REST 服务器。[用于 Ludwig]」
「Netflix 很高兴宣布开源我们的危机管理编排框架:Dispatch![使用 FastAPI 构建]」
「如果有人正在构建生产级的 Python API,我强烈推荐 FastAPI。它设计优雅、使用简单且高度可扩展,它已经成为我们 API 优先开发战略中的关键组件,并驱动了许多自动化和服务,比如我们的 Virtual TAC Engineer。」
在 2025 年末发布了一部 FastAPI 迷你纪录片,你可以在线观看:
如果你要开发一个用于终端而不是 Web API 的 CLI 应用,看看 Typer。
Typer 是 FastAPI 的小同胞。它的目标是成为命令行中的 FastAPI。⌨️ 🚀
首先,安装 uv,然后将 FastAPI 添加到你的项目中:
注意: 请确保把 "fastapi[standard]" 用引号包起来,以保证在所有终端中都能正常工作。
如果你更喜欢使用 pip,请在虚拟环境中安装 fastapi[standard]。请参阅安装指南了解替代步骤。
如果你的代码里会用到 async / await,请使用 async def:
如果你不确定,请查看文档中关于 async 和 await 的 "急用?" 章节。
fastapi dev 命令会自动读取你的 main.py 文件,检测其中的 FastAPI 应用,并使用 Uvicorn 启动服务器。
默认情况下,fastapi dev 会在本地开发时启用自动重载。
你可以在 FastAPI CLI 文档 中了解更多。
用浏览器打开 http://127.0.0.1:8000/items/5?q=somequery。
现在访问 http://127.0.0.1:8000/docs。
你会看到自动生成的交互式 API 文档(由 Swagger UI 提供):
然后访问 http://127.0.0.1:8000/redoc。
你会看到另一个自动生成的文档(由 ReDoc 提供):
现在修改 main.py 文件来接收来自 PUT 请求的请求体。
借助 Pydantic,使用标准的 Python 类型来声明请求体。
fastapi dev 服务器会自动重载。
现在访问 http://127.0.0.1:8000/docs。
再访问 http://127.0.0.1:8000/redoc。
总之,你只需要把参数、请求体等的类型作为函数参数声明一次。
这些都使用标准的现代 Python 类型即可。
你不需要学习新的语法、某个特定库的方法或类等。
回到之前的代码示例,FastAPI 将会:
我们只是浅尝辄止,但你已经大致了解其工作方式了。
...看看你的编辑器如何自动补全属性并知道它们的类型:
更多包含更多特性的完整示例,请参阅 教程 - 用户指南。
本页为82搜索生成的网页快照,内容来自站内索引;演示数据的原文链接仅作示例。