FastAPI中怎么實(shí)現(xiàn)API的可復(fù)用性

小億
93
2024-05-10 16:23:53
欄目: 編程語言

在FastAPI中實(shí)現(xiàn)API的可復(fù)用性可以通過使用依賴項(xiàng)(dependencies)來實(shí)現(xiàn)。依賴項(xiàng)是在API路由處理函數(shù)執(zhí)行之前運(yùn)行的一些邏輯,可以用來驗(yàn)證、處理請(qǐng)求參數(shù)、鑒權(quán)等操作,從而實(shí)現(xiàn)代碼的復(fù)用和邏輯的分離。

例如,我們可以定義一個(gè)依賴項(xiàng)函數(shù)來驗(yàn)證用戶的身份信息:

from fastapi import Depends, FastAPI

app = FastAPI()

def get_current_user(token: str = Depends(get_token)):
    user = decode_token(token)
    return user

@app.get("/users/me")
async def read_users_me(current_user: User = Depends(get_current_user)):
    return {"username": current_user.username}

在上面的例子中,get_current_user函數(shù)依賴項(xiàng)函數(shù),用來驗(yàn)證用戶的身份信息。在路由處理函數(shù)read_users_me中,我們通過Depends(get_current_user)來注入依賴項(xiàng)函數(shù)返回的結(jié)果current_user

通過使用依賴項(xiàng)函數(shù),我們可以將一些通用邏輯抽離出來,在不同的API路由中進(jìn)行復(fù)用,提高代碼的可維護(hù)性和可復(fù)用性。

0