依赖
from fastapi import Depends
可以多级依赖, 类似多级继承 传递 可调用 做为依赖
Depends
Depends(依赖函数或依赖类)
参数
use_cache=True 只调用子依赖一次
函数依赖
async def 名称01(q: Optional[str] = None, page: int = 1, limit: int = 100):
return {'q': q, 'page': page, 'limit': limit}
类依赖
class 名称01:
def __init__(self, q: Optional[str] = None, page: int = 1, limit: int = 1000):
self.q = q
self.page = page
self.limit = limit
调用函数依赖
@app05.get('/dependency01')
async def 名称(名称02: dict = Depends(名称01),):
名称02 # 得到返回值
return
备注
名称02: dict = Depends(名称01) # 返回字典
名称02: str = Depends(名称01) # 返回字符串
调用类依赖
@app05.get('/classes_as_dependencies')
async def 名称(名称02=Depends(名称01)):
名称02.属性 # 得到属性值
return
装饰器注入依赖
没有返回值
@app05.get(路径, dependencies=[Depends(名称), Depends(名称)])
全局依赖
FastAPI(dependencies=[Depends(名称), Depends(名称)])
APIRouter(dependencies=[Depends(名称), Depends(名称)])