main.py

FastAPI 详细展开(2025年最新版)
FastAPI 是 Python 生态中最受欢迎的现代 Web 框架之一,由 Sebastián Ramírez(tiangolo)于2018年创建。截至2025年12月,最新版本为 0.124.x(最近发布于2025年12月),GitHub Stars 超过91K,PyPI 月下载量高达 2.27亿次(日下载超过750万),在 JetBrains/Python Software Foundation 2025年开发者调查中,使用率达38%,成为增长最快的 Python Web 框架,已在 API 开发领域超越 Flask 和 Django。
FastAPI 的核心定位是构建高性能 RESTful API,特别适合微服务、AI/ML 接口、实时应用和异步场景。它基于 Starlette(异步 Web 部分)和 Pydantic(数据验证),充分利用 Python 类型提示(type hints),实现自动数据验证、序列化和 OpenAPI 文档生成。
FastAPI 的核心优势(2025年视角)
• 极高性能:异步支持(async/await),基准测试中与 Node.js 和 Go 相当,是 Python 框架中最快的之一。
• 开发效率高:类型提示带来优秀编辑器支持(自动补全、错误检测),减少约40%人为 bug;开发速度提升200%-300%。
• 自动文档:内置 Swagger UI (/docs) 和 ReDoc (/redoc),交互式 API 文档开箱即用。
• 生产就绪:依赖注入、标准化(OpenAPI + JSON Schema)、易部署。
• 企业采用:Uber、Netflix、Microsoft 等公司大规模使用,尤其在 AI 接口和微服务中。
• 社区活跃:支持 Pydantic v2,新增多语言文档、FastAPI CLI 工具等。 0 “FastAPI 典型架构示意图(基于 Starlette 和 Pydantic)” “LARGE” 2 ”” “LARGE”
与 Django 和 Flask 的对比(2025年)
维度
FastAPI
Django
Flask
类型
现代异步 API 框架
全栈“电池内置”框架
轻量微框架
性能
最高(异步,原生支持 WebSocket)
中等(同步为主,可异步扩展)
中等(同步,可扩展异步)
开发速度
最快(类型提示 + 自动文档)
快(内置 admin、ORM、auth)
快(灵活,但需手动配置)
内置功能
少(专注 API)
多(ORM、admin、auth、forms 等)
极少(需扩展)
学习曲线
中等(需懂类型提示和 async)
较陡(结构固定)
最低(简单灵活)
适用场景
API、微服务、AI 接口、高并发
大型 Web 应用、CMS、快速原型
小型应用、原型、自定义需求
2025流行度
38% 使用率,下载量领先
稳定,但 API 领域被超越
经典,但增长放缓
社区/生态
快速增长,AI 友好
最大最成熟
灵活扩展多
结论:2025年,如果你构建纯 API 或需要高性能/异步,选择 FastAPI;需要全栈快速开发,选择 Django;追求极致灵活,选择 Flask。
快速入门:Hello World 示例

main.py

from fastapi import FastAPI

app = FastAPI() # 创建应用实例

@app.get("/") # 定义 GET 路由
async def root():
return {"message": "Hello FastAPI 2025!"}

运行:uvicorn main:app --reload

访问 http://127.0.0.1:8000 ,返回 JSON;/docs 即见交互文档。 3 ”” “LARGE” 5 ”” “LARGE”
核心功能展开
1 路径操作(Path Operations):@app.get/post/put/delete 等,支持路径参数、查询参数、请求体。
2 数据验证与 Pydantic:
from pydantic import BaseModel
3 4 class Item(BaseModel):
5 name: str
6 price: float
7 8 @app.post("/items/")
9 async def create_item(item: Item):
10 return item
11 
自动验证、序列化、文档生成。
12 依赖注入(Dependencies):复用认证、数据库连接、限流等。
13 安全:内置 OAuth2、JWT、API Key 支持。
14 异步支持:async def 处理 IO 密集任务(如数据库、外部 API)。
15 背景任务、WebSocket、事件处理:适合实时应用。
16 测试:内置 TestClient,易与 pytest 集成。
最佳实践(2025推荐)
• 项目结构:按域分模块(auth/router.py、schemas.py、models.py、dependencies.py),适合中大型项目(参考 Netflix Dispatch 风格)。
• 使用 async:数据库用 async ORM(如 SQLAlchemy 2.0 + async、Tortoise ORM)。
• 依赖管理:pip install “fastapi[standard]”(包含 uvicorn 等)。
• 部署:Uvicorn + Gunicorn(多 worker),Docker + Cloud Run/AWS Lambda。
• 安全:OAuth2 + JWT、率限、输入验证。
• 性能优化:Pydantic v2、缓存(Redis)、监控(Prometheus)。
• 工具:FastAPI CLI(fastapi run/deploy)、uv(新包管理器)。
FastAPI 在2025年已成为 Python API 开发的首选,尤其在 AI 时代(易集成 LangChain、Hugging Face)。官方文档(https://fastapi.tiangolo.com/)是最佳学习资源,从 Tutorial 开始上手。如果你有具体场景(如集成数据库或认证),可以进一步提问!🚀