FastAPI依賴注入詳解:Depends的基礎與高級用法
依賴注入(DI)核心是將依賴(如數據庫連接)通過系統自動注入函數,而非函數自行獲取,提升代碼複用與解耦。FastAPI通過`Depends`實現,分兩步:定義依賴函數(生產依賴對象,如模擬數據庫連接),在路徑函數中用`Depends(依賴函數)`聲明依賴,FastAPI自動調用並注入結果。 依賴函數可接收路徑/查詢參數,如根據`user_id`查詢用戶。高級用法包括:嵌套依賴(依賴其他依賴)、用`lru_cache`緩存依賴(單例)、異步依賴(適配異步路徑函數)、結合Pydantic驗證參數。 核心優勢:代碼複用、解耦(路徑函數僅關注業務)、易測試(可用mock替換依賴)、可擴展(新增依賴僅改依賴函數)。掌握`Depends`能讓API結構更清晰健壯。
閱讀全文