在FastAPI中實現API的可復用性可以通過使用依賴項(dependencies)來實現。依賴項是在API路由處理函數執行之前運行的一些邏輯,可以用來驗證、處理請求參數、鑒權等操作,從而實現代碼的復用和邏輯的分離。
例如,我們可以定義一個依賴項函數來驗證用戶的身份信息:
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
函數依賴項函數,用來驗證用戶的身份信息。在路由處理函數read_users_me
中,我們通過Depends(get_current_user)
來注入依賴項函數返回的結果current_user
。
通過使用依賴項函數,我們可以將一些通用邏輯抽離出來,在不同的API路由中進行復用,提高代碼的可維護性和可復用性。