说明
FastAPI 支持
子依赖
,就是能按照层级
调用依赖,可以用来拆分
业务逻辑
子依赖
from fastapi import FastAPI, Depends from fastapi.exceptions import HTTPException from typing import Optional import uvicorn app = FastAPI() # 子依赖 验证 token async def check_token(token: str): if token != '123456': return False return True # 接口依赖 async def check_token_key(token=Depends(check_token), key: Optional[str] = None): if not token: raise HTTPException(detail='token error', status_code=400) return key @app.get('/sub_depends') async def fun(key=Depends(check_token_key)): return key if __name__ == '__main__': uvicorn.run(app)
执行流程
优化 use_cache 参数
use_cache = True
表示多个依赖
有一个共同
的子依赖时,每次请求只会调用
依赖一次
,然后从缓存中获取
@app.get('/sub_depends') async def fun(key=Depends(check_token_key,use_cache=True)): return key
版权声明:《 【FastAPI】Depends 依赖注入(二)Sub-Dependencies 子依赖 》为明妃原创文章,转载请注明出处!
最后编辑:2022-2-19 07:02:49