Skip to content

认识 FastAPI: 速度与文档

欢迎来到快车道!FastAPI 是一个现代、高性能的 Python Web 框架,用于基于标准 Python 类型提示(type hints)构建 API。它旨在易于使用、快速编码并为生产环境做好准备。它的两大显著优势是:

  • 速度:它是最快的 Python 框架之一,与 Node.js 和 Go 并驾齐驱(得益于 Starlette 和 Pydantic)。
  • 开发者体验:通过提供出色的编辑器支持(无处不在的代码补全),它显著减少了 bug 并提升了开发速度。

在开始之前,请确保您已安装 Python 3.8 或更高版本。FastAPI 依赖现代 Python 特性,特别是类型提示(type hints),来发挥其魔力。

要开始构建,我们需要安装 FastAPI 和一个 ASGI 服务器来运行代码。标准服务器是 Uvicorn。您可以通过 pip 安装它们:

Terminal window
pip install fastapi "uvicorn[standard]"

让我们编写一个尽可能简单的文件来体验 FastAPI。创建一个名为 main.py 的文件并添加以下代码:

from fastapi import FastAPI
# 创建一个 FastAPI 实例
app = FastAPI()
# 定义一个路径操作装饰器
@app.get("/")
async def root():
# 返回一个 JSON 响应
return {"message": "Hello World"}

下面是正在发生的事情:

  • app = FastAPI():创建主应用程序实例。
  • @app.get("/"):告诉 FastAPI 下面的函数将处理发送到路径 / 的 GET 请求。
  • async def root():这是执行的函数。FastAPI 完全支持异步代码(async/await)。

要运行应用程序,我们使用之前安装的 Uvicorn 服务器。在包含 main.py 文件的文件夹中打开您的终端并运行:

Terminal window
uvicorn main:app --reload

命令解析:

  • main:指代文件 main.py。
  • app:指代 main.py 文件中使用 app = FastAPI() 一行创建的对象。
  • --reload:在代码更改后自动重启服务器(非常适合开发)。

这正是 FastAPI 真正出彩的地方。无需编写任何额外的代码,FastAPI 就已为您生成了交互式 API 文档。它会检查您的代码并使用 OpenAPI 和 JSON Schema 等标准。

在服务器运行期间,打开您的浏览器并访问 http://127.0.0.1:8000/docs。您将看到 Swagger UI,这是一个交互式仪表板,您可以在其中查看您的端点(endpoints),甚至可以直接从浏览器执行请求。

或者,您可以访问 http://127.0.0.1:8000/redoc 来查看 ReDoc 界面,这是另一种美观地可视化 API 文档的方式。