FastAPI 入门教程:几分钟内构建你的第一个 Python API(2026-10-05)
想用 Python 快速搭建一个高性能 API?FastAPI 是目前最值得上手的框架之一。它基于类型提示,自带交互式文档,性能可与 Node.js 和 Go 比肩。下面我们从一个最小案例开始,几分钟内让你跑通第一个接口。
为什么选择 FastAPI?
根据 2025 年 Python 开发者调查,FastAPI 的使用率在两年内从 18% 跃升至 42%,成为增长最快的 Web 框架。它的核心优势有三点:
- 快:底层使用 Starlette 和 Pydantic,异步支持原生到位。
- 少写代码:类型提示即校验,减少约 40% 的重复逻辑。
- 自带文档:启动后访问
/docs即可获得 Swagger UI。
环境准备与第一个接口
安装依赖
打开终端,执行:
pip install fastapi uvicorn
编写主文件
新建 main.py,输入以下代码:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "Hello, FastAPI!"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
启动服务
uvicorn main:app --reload
访问 http://127.0.0.1:8000/items/5?q=test,你会立刻得到 JSON 响应。打开 http://127.0.0.1:8000/docs,还能直接测试接口——这就是 FastAPI 的魔力。
实用建议与常见坑
- 路径参数类型:
item_id: int会自动返回 422 错误如果传入非整数,省去手写校验。 - 查询参数默认值:
q: str = None表示可选,不传也不会报错。 - 热重载:开发时加
--reload,修改代码后自动重启。 - 生产部署:去掉
--reload,配合gunicorn或uvicorn多 worker 运行。
下一步行动
现在你已经有了一个可运行的 API。试着添加一个 POST 接口,接收 JSON body 并返回处理结果。遇到问题?官方文档的“教程 - 用户指南”部分是最佳参考。
行动号召:今天就用 FastAPI 重写你手头那个笨重的 Flask 小服务,感受类型提示带来的清爽。跑通后,回来告诉我你省了多少行代码。
免责声明:本文内容基于 FastAPI 当前稳定版本,示例代码仅供学习参考。生产环境请根据实际需求配置安全、日志与监控。作者不对因使用本文内容导致的任何直接或间接损失负责。