使用 Python 和 FastAPI 构建 REST API:从基础到 CRUD 示例

作者:API传播员 · 2025-09-10 · 阅读时间:4分钟

使用 Python 和 FastAPI 深入了解 REST API 的开发,需要掌握基础和高级主题,以便全面理解其原理和实现方法。本文将介绍 REST API 的基本概念、设计原则,以及如何使用 FastAPI 框架构建一个简单的 CRUD API。FastAPI 因其高性能、易用性以及对异步编程的支持,成为现代 Web 应用开发的理想选择。


一、REST API 简介

REST(Representational State Transfer,表述性状态转移)是一种用于设计网络应用的架构风格。它基于 无状态的客户端-服务器通信模型,将 Web 服务视为资源,并通过标准操作(如 GET、POST、PUT、DELETE 和 PATCH)进行管理。

RESTful API 的特点包括:高性能、可扩展性和无状态性。每个资源通过 URI(统一资源标识符)标识,客户端可使用标准 HTTP 方法对其进行访问和操作。其简单性、可扩展性和与 Web 的兼容性,使 REST 架构被广泛应用于现代 Web 开发。


二、REST 的关键原则

REST API 的设计基于以下六大核心原则:

  1. 统一接口:确保客户端与服务器接口一致,简化交互流程。
  2. 无状态性:每个请求都包含完整信息,服务器无需存储客户端上下文。
  3. 可缓存性:标识哪些资源可缓存,以提升性能。
  4. 分层系统:通过中间层(如负载均衡器)增强系统可扩展性。
  5. 按需代码(可选):在客户端执行代码,减少网络负载。
  6. 客户端-服务器分离:职责分离,便于独立开发和扩展。

三、使用 FastAPI 构建 REST API

FastAPI 是一个现代化、高性能的 Python Web 框架,专为类型提示驱动的 API 开发设计。

主要优势:

  • 快速开发:简化代码,提高开发效率。
  • 高性能:基于 Starlette 与 Pydantic,性能接近 Node.js 和 Go。
  • 自动生成文档:内置 Swagger 和 ReDoc 界面。
  • 异步支持:适合高并发场景,支持 async/await。

四、安装 FastAPI 和运行环境

请确保 Python 版本 >= 3.8。

1. 使用 pip 安装

pip install fastapi uvicorn

2. 使用 Poetry 管理依赖

参考 Poetry 使用指南

poetry add fastapi uvicorn

五、示例:创建简单 CRUD API

本示例展示如何管理图书资源,包括 创建、读取、更新、删除 操作。

步骤 1:定义 FastAPI 应用和模型

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Book(BaseModel):
    title: str
    author: str
    description: str
    rating: float

步骤 2:添加 CRUD 操作

books = []

@app.get("/books")
def get_books():
    return books

你可以继续添加其他操作,如 POST、PUT、DELETE

步骤 3:运行 API 服务器

uvicorn main:app --reload

访问 http://127.0.0.1:8000--reload 会在代码修改时自动重启服务器,便于调试。


六、测试 API

可以使用以下工具测试 API:

  • curl:命令行发送 HTTP 请求
  • Postman:图形化测试工具
  • FastAPI 文档界面:访问 http://127.0.0.1:8000/docs 使用 Swagger UI

FastAPI 文档界面


七、总结

本文介绍了 REST API 的核心概念、设计原则,并演示了如何使用 FastAPI 构建一个简单的 CRUD API。

FastAPI 优势回顾:

  • 高性能,适合高并发应用
  • 易于开发和维护
  • 支持异步和自动文档生成

掌握 REST 原则并结合 FastAPI 框架,可以显著提升 Web 应用和微服务开发效率,为项目提供强大支持。

原文链接: ArjanCodes