FastAPI 教程

1.5 第一个 FastAPI 应用:Hello World

FastAPI Hello World教程:从零开始创建你的第一个REST API应用

FastAPI 教程

本教程详细介绍如何使用FastAPI创建第一个Hello World应用,步骤简单易懂,适合新人快速上手Python REST API开发,涵盖安装、代码编写和运行测试。

推荐工具
PyCharm专业版开发必备

功能强大的Python IDE,提供智能代码补全、代码分析、调试和测试工具,提高Python开发效率。特别适合处理列表等数据结构的开发工作。

了解更多

第一个 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" 教程,你已经学会了:

  1. 安装 FastAPI 和 Uvicorn。
  2. 编写一个简单的 API 端点,返回 JSON 响应。
  3. 运行和测试你的应用。

FastAPI 还有很多强大的功能,如请求参数处理、数据验证、依赖注入等。建议下一步学习更多路由、请求体和响应模型。继续探索,构建更复杂的 API!

如果有任何问题,可以参考 FastAPI 官方文档

开发工具推荐
Python开发者工具包

包含虚拟环境管理、代码格式化、依赖管理、测试框架等Python开发全流程工具,提高开发效率。特别适合处理复杂数据结构和算法。

获取工具包