Sobes.tech
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 је зависност која се аутоматски умета у обрађивач. Ово олакшава управљање ресурсима и повећава модуларност апликације.