Python FastAPI 快速搭建 Web API 教程

52 阅读3分钟

Python FastAPI 快速搭建 Web API 教程

FastAPI 是一款高性能、易上手的 Python Web 框架,兼具开发效率与标准化特性,非常适合快速构建 API 及部署机器学习模型。本教程将复刻核心步骤,带你从零实现 HelloWorld 项目,快速掌握其基础用法。

一、FastAPI 核心优势

  • 性能强劲,可媲美 NodeJS 和 Go,依托 Starlette 和 Pydantic 实现高效运行。
  • 开发效率高,能提升 200%-300% 功能开发速度,减少 40% 人为错误。
  • 支持自动补全和交互式文档,学习成本低,生产级代码健壮性强。
  • 完全兼容 OpenAPI 和 JSON Schema 标准,生态工具丰富。

二、环境准备与安装

1. 创建项目与虚拟环境

先创建独立项目目录,再搭建虚拟环境隔离依赖:

mkdir fastwebprojects  # 创建项目文件夹
cd fastwebprojects     # 进入文件夹
python3 -m venv env/   # 创建虚拟环境(env为环境名称)

2. 激活虚拟环境

  • Linux/Mac 系统:
source env/bin/activate
  • 激活后终端会显示 (env) 标识,表明已进入虚拟环境。

3. 安装依赖包

安装 FastAPI 框架和 ASGI 服务器 Uvicorn:

pip install fastapi uvicorn

安装完成后,会自动同步 starlette、pydantic 等依赖组件。

三、编写 HelloWorld API

1. 创建主程序文件

在项目目录下新建 main.py 文件,写入以下代码:

from fastapi import FastAPI  # 导入 FastAPI 类
app = FastAPI()  # 实例化 FastAPI 应用
@app.get('/')  # 定义 GET 请求的根路径(/)
async def root():  # 异步路径操作函数
    return {'message': 'Hello World!'}  # 返回 JSON 响应

2. 代码核心说明

  • @app.get('/'):路由装饰器,指定当访问根路径时触发下方函数。
  • async def root():异步函数,作为请求处理逻辑的核心,支持并发执行。
  • 返回值:直接返回字典,FastAPI 会自动转换为 JSON 格式响应。

四、运行与访问 API

1. 启动服务器

在虚拟环境中执行以下命令,启动 Uvicorn 服务器:

uvicorn main:app --reload
  • 命令解析:main 指 main.py 文件,app 是文件中实例化的 FastAPI 对象,--reload 开启热重载(代码修改后自动重启服务器,仅用于开发)。

2. 验证运行状态

启动成功后,终端会输出类似信息:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

表明 API 服务已在本地 8000 端口启动。

3. 访问 API 与文档

  • 访问 API:打开浏览器输入 http://127.0.0.1:8000,可看到 JSON 响应:{"message": "Hello World!"}。
  • 交互式文档:访问 http://127.0.0.1:8000/docs,可使用 Swagger UI 生成的可视化文档,支持在线调试接口。

五、OpenAPI 规范说明

FastAPI 基于 OpenAPI 规范(原 Swagger 规范)自动生成 API 模式,核心作用包括:

  • 驱动内置的两款交互式文档系统,无需手动编写接口文档。
  • 支持生成多种语言的客户端代码,方便前端、移动端对接。
  • 定义 API 路径、参数、响应格式等标准,确保接口兼容性。