跳转至

依赖

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(名称)])