from fastapi import APIRouter, Header, HTTPException, Depends
app12 = APIRouter()
"""Dependencies in path operation decorators 路径操作装饰器中的多依赖"""
async def verify_token(x_token: str = Header(...)):
"""没有返回值的子依赖"""
if x_token != "fake-super-secret-token":
raise HTTPException(status_code=400, detail="X-Token header invalid")
async def verify_key(x_key: str = Header(...)):
"""有返回值的子依赖,但是返回值不会被调用"""
if x_key != "fake-super-secret-key":
raise HTTPException(status_code=400, detail="X-Key header invalid")
return x_key
# 这时候不是在函数参数中调用依赖,而是在路径操作中
@app12.get("/dependency_in_path_operation", dependencies=[Depends(verify_token), Depends(verify_key)])
async def dependency_in_path_operation():
return [{"user": "user01"}, {"user": "user02"}]
FastAPI从入门到实战(12)——路径操作装饰器中的多依赖
于 2024-02-05 09:12:51 首次发布