FastAPI基础
1、工具准备
pip安装命令
pip install fastapi
pip install "uvicorn[standard]"
2、项目结构
一个典型的 FastAPI 项目应该包含以下文件结构:
fastapi_project/
├── app/
│ ├── __init__.py
│ ├── main.py # 主应用程序入口
│ ├── api/
│ │ ├── __init__.py
│ │ └── endpoints/ # 具体的 API 端点
│ ├── models/ # 数据模型
│ ├── schemas/ # Pydantic 模式
│ ├── services/ # 业务逻辑层
│ └── database/ # 数据库连接与管理
├── tests/ # 测试文件
│ ├── __init__.py
│ └── test_main.py # 主要测试文件
├── requirements.txt # 项目依赖
└── README.md # 项目说明文件
3、app与服务
FastAPI启动命令
uvicorn {入口文件名}:app {--host 0.0.0.0} {--port 8000} {--reload}
--port 可以指定端口
--reload 一般只在开发环境中使用,便于快速调试后端代码
4、异步操作
async用于异步操作:async def {函数}():
5、装饰器
@app.get是python的装饰器,用于注册路由,将函数注册到app的路由表中去。
@app.get("/")
6、从文件分离,到路由分类集中
按照业务进行路由的分类管理,再在根目录中进行集中
from fastapi import FastAPI, APIRouter
app = FastAPI()
router = APIRouter()
@router.get("/foo")
async def foo():
return "foo"
@router.get("/bar")
async def get_item_by_id(item_id: int):
return "bar"
app.include_router(router, prefix="/items")