Junior — Middle
Koja je uloga injekcije zavisnosti u FastAPI i zašto je ona potrebna?
sobes.tech АИ
Одговор од АИ
Уметање зависности (Dependency Injection, DI) у FastAPI-ју се користи за управљање зависностима између компоненти апликације, на пример, за повезивање са базом података, добијање тренутног корисника, конфигурацију кеша итд. Ово омогућава:
- Уклањање чврсте везе између компоненти.
- Побољшање тестираљивости кода, јер се зависности могу лако заменити.
- Централизовано управљање креирањем и животним циклусом објеката.
FastAPI имплементира DI кроз параметризацију функција обрађивача помоћу Depends. На пример:
from fastapi import FastAPI, Depends
def get_db():
db = create_db_session()
try:
yield db
finally:
db.close()
app = FastAPI()
@app.get("/items/")
def read_items(db=Depends(get_db)):
items = db.query(Item).all()
return items
Овде, get_db је зависност која се аутоматски умета у обрађивач. Ово олакшава управљање ресурсима и повећава модуларност апликације.