⚡ FastAPI:现代高性能异步 Web 框架
FastAPI 是基于 Python 3.6+ 类型注解构建的高性能 Web 框架,适合构建 API 服务,支持异步、自动文档生成、依赖注入等。
✅ FastAPI 解决了什么问题?
| 问题 | FastAPI 的解决方式 |
|---|---|
| 开发 API 繁琐 | 使用路径装饰器快速创建接口 |
| 文档编写难 | 自动生成 Swagger 和 ReDoc |
| 异步性能需求 | 内建支持 async / await |
| 参数校验复杂 | 利用 Pydantic 自动校验和解析请求参数 |
| 类型提示与 IDE 支持不佳 | 强类型注解,IDE 友好 |
🧰 安装 FastAPI 和 Uvicorn
pip install fastapi[all]
或者只安装核心依赖:
pip install fastapi
pip install "uvicorn[standard]"
🚀 快速启动一个接口服务
创建 main.py:
从 fastapi 导入 FastAPI
app = FastAPI()
@app.get("/")
定义 根():
返回 {"消息": "你好 FastAPI"}
启动服务:
uvicorn main:app --reload
访问:
- 接口地址:http://127.0.0.1:8000
- 文档界面:http://127.0.0.1:8000/docs
- ReDoc 文档:http://127.0.0.1:8000/redoc
📥 路径参数与查询参数
@app.get("/用户/{用户id}")
定义 获取用户(用户id: int, 详细: bool = False):
如果 详细:
返回 {"用户id": 用户id, "详情": "详细信息"}
返回 {"用户id": 用户id}
📦 请求体(Body)与 Pydantic 模型
从 pydantic 导入 BaseModel
类 用户(BaseModel):
姓名: str
年龄: int
@app.post("/用户/")
定义 创建用户(用户: 用户):
返回 {"创建成功": 用户.姓名}