FastAPI教程 全局依賴項

2021-11-03 09:34 更新

有時,我們要為整個應用添加依賴項。

通過與定義路徑裝飾器依賴項 類似的方式,可以把依賴項添加至整個 FastAPI 應用。

這樣一來,就可以為所有路徑操作應用該依賴項:

from fastapi import Depends, FastAPI, Header, HTTPException


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


app = FastAPI(dependencies=[Depends(verify_token), Depends(verify_key)])


@app.get("/items/")
async def read_items():
    return [{"item": "Portal Gun"}, {"item": "Plumbus"}]


@app.get("/users/")
async def read_users():
    return [{"username": "Rick"}, {"username": "Morty"}]

路徑裝飾器依賴項 一章的思路均適用于全局依賴項, 在本例中,這些依賴項可以用于應用中的所有路徑操作。

為一組路徑操作定義依賴項

稍后,大型應用 - 多文件一章中會介紹如何使用多個文件創(chuàng)建大型應用程序,在這一章中,您將了解到如何為一組路徑操作聲明單個 dependencies 參數(shù)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號