FastAPI 入门速览
FastAPI 是一个基于 Pytho 的高性能 Web API 框架。
特点:
- 快:基于 ASGI,支持异步
- 简单:类型注解驱动
- 自动校验:Pydantic
- 自动文档:Swagger / OpenAPI
- 适合:微服务、后台 API、AI 服务、自动化平台
FastAPI = Python 类型注解 + 自动校验 + 自动文档 + 高性能 API 框架。
1. 安装
1 | pip install fastapi uvicorn |
启动:
1 | uvicorn main:app --reload |
2. 第一个接口
main.py
1 | from fastapi import FastAPI |
访问:
http://127.0.0.1:8000
接口文档:
http://127.0.0.1:8000/docs
3. 路由
1 |
|
常用:
1 |
4. 参数
路径参数
1 |
|
请求:
/users/100
Query 参数
1 |
|
请求:
/items?page=2
5. 请求Body(重点)
使用 Pydantic:
1 | from pydantic import BaseModel |
请求:
1 | { |
自动完成:
- JSON解析
- 类型校验
- 错误返回
- 文档生成
6. 响应模型
1 | class UserOut(BaseModel): |
返回:
1 | { |
多余字段自动过滤。
7. 异步
同步:
1 | def api(): |
异步:
1 | async def api(): |
适合:
- 数据库 IO
- HTTP 请求
- Redis
- 文件操作
8. 项目结构
推荐:
app/
├── main.py
├── api/
│ ├── user.py
│ └── order.py
├── models/
├── schemas/
├── services/
└── database/
9. 常用生产组件
| 功能 | 组件 |
|---|---|
| Web服务 | Uvicorn |
| 数据库 | SQLAlchemy |
| 数据校验 | Pydantic |
| 配置管理 | pydantic-settings |
| 鉴权 | JWT/OAuth2 |
| 缓存 | Redis |
| 部署 | Docker/K8s |