FastAPI 中的依赖注入与数据库交互
1. FastAPI 中的依赖注入
在 FastAPI 里,路径操作装饰器有一个 dependencies 参数,它期望传入一个依赖列表。和传递依赖参数一样,需要用 Depends 函数包装你的函数(或可调用对象)。例如,当调用 /protected-route 路由时,依赖会被调用并检查所需的请求头。
由于 dependencies 是一个列表,所以可以根据需要添加任意数量的依赖。要是想保护一组端点,手动为每个端点添加依赖会很繁琐且容易出错,不过 FastAPI 提供了解决办法。
1.1 在整个路由中使用依赖
可以通过以下两种方式为整个路由注入依赖:
- 在 APIRouter 类中设置 dependencies 参数 :
from fastapi import APIRouter, Depends
def secret_header():
# 这里可以实现检查请求头的逻辑
pass
router = APIRouter(dependencies=[Depends(secret_header)])
@router.get("/route1")
async def router_route1():
return {"route": "route1"}
@router.get("/
超级会员免费看
订阅专栏 解锁全文
1015

被折叠的 条评论
为什么被折叠?



