1.5 第一个 FastAPI 应用:Hello World
FastAPI Hello World教程:从零开始创建你的第一个REST API应用
本教程详细介绍如何使用FastAPI创建第一个Hello World应用,步骤简单易懂,适合新人快速上手Python REST API开发,涵盖安装、代码编写和运行测试。
第一个 FastAPI 应用:Hello World
简介
FastAPI 是一个现代、快速的 Python Web 框架,专门用于构建 API(应用程序编程接口)。它结合了 Python 3.7+ 的类型提示和异步支持,让开发高性能的 REST API 变得简单而高效。本教程将帮助你从零开始创建你的第一个 FastAPI 应用——经典的 "Hello World",让你快速体验 FastAPI 的魅力。
环境准备
确保你已经安装了 Python 3.7 或更高版本。如果没有安装,可以从 Python 官网 下载并安装。
安装 FastAPI
在开始编写代码前,你需要安装 FastAPI 和一个 ASGI 服务器(如 Uvicorn)来运行应用。打开你的终端或命令提示符,运行以下命令:
pip install fastapi uvicorn
这个命令会安装 FastAPI 和 Uvicorn,Uvicorn 是一个轻量级的服务器,用于运行 FastAPI 应用。
编写 Hello World 应用
创建一个新的 Python 文件,比如命名为 main.py。在这个文件中,我们将编写最简单的 FastAPI 应用。
代码示例
# 导入 FastAPI
from fastapi import FastAPI
# 创建一个 FastAPI 应用实例
app = FastAPI()
# 定义一个根路径的 GET 路由
@app.get("/")
def read_root():
return {"Hello": "World"}
让我们一步步解释这个代码:
from fastapi import FastAPI: 导入 FastAPI 类。app = FastAPI(): 创建一个 FastAPI 应用实例。@app.get("/"): 这是一个装饰器,用于定义一个 GET 请求的路由,访问路径是根路径/。def read_root():: 定义一个函数,当访问根路径时,这个函数会被调用。return {"Hello": "World"}: 函数返回一个 JSON 对象,内容为{"Hello": "World"},这将是 API 的响应。
运行应用
保存 main.py 文件后,我们可以在终端中运行应用。使用 Uvicorn 启动服务器:
uvicorn main:app --reload
main: 指的是你的 Python 文件名(不包含.py扩展)。app: 指的是在代码中创建的 FastAPI 实例。--reload: 这个选项启用热重载,这意味着当你修改代码时,服务器会自动重启,非常适合开发环境。
运行成功后,你会看到类似以下的输出:
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [12345]
INFO: Started server process [12346]
INFO: Waiting for application startup.
INFO: Application startup complete.
测试应用
现在,你的第一个 FastAPI 应用已经运行起来了!
使用浏览器
打开你的浏览器,访问 http://localhost:8000(或 http://127.0.0.1:8000),你应该会看到 JSON 响应:
{
"Hello": "World"
}
使用命令行工具(如 curl)
在终端中运行:
curl http://localhost:8000
这会输出同样的 JSON 响应。
使用 API 测试工具(如 Postman)
如果你安装了 Postman,可以创建一个 GET 请求到 http://localhost:8000,同样会得到响应。
代码解释与扩展
这个简单的应用演示了 FastAPI 的核心概念:
- 路由: 使用装饰器(如
@app.get("/"))来定义不同路径的请求处理。 - 响应: FastAPI 自动将 Python 字典转换为 JSON 响应,非常适合构建 REST API。
你可以扩展这个应用,例如添加更多路由:
@app.get("/items/{item_id}")
def read_item(item_id: int):
return {"item_id": item_id}
这定义了一个新的 GET 路由 /items/{item_id},其中 item_id 是一个路径参数,FastAPI 会自动处理类型转换和验证。
总结
恭喜你完成了第一个 FastAPI 应用!通过这个 "Hello World" 教程,你已经学会了:
- 安装 FastAPI 和 Uvicorn。
- 编写一个简单的 API 端点,返回 JSON 响应。
- 运行和测试你的应用。
FastAPI 还有很多强大的功能,如请求参数处理、数据验证、依赖注入等。建议下一步学习更多路由、请求体和响应模型。继续探索,构建更复杂的 API!
如果有任何问题,可以参考 FastAPI 官方文档。