Junior — Middle
Kokia yra priklausomybių injekcijos vaidmuo FastAPI ir kodėl ji yra būtina?
sobes.tech AI
Atsakymas iš AI
FastAPI priklausomybių injekcija (Dependency Injection, DI) naudojama valdyti priklausomybes tarp programos komponentų, pavyzdžiui, jungiantis prie duomenų bazės, gaunant dabartinį vartotoją, konfigūruojant talpyklą ir kt. Tai leidžia:
- Pašalinti griežtą komponentų tarpusavio ryšį.
- Pagerinti kodo testavimą, nes priklausomybes galima lengvai pakeisti.
- Centrinį objektų kūrimo ir gyvavimo ciklo valdymą.
FastAPI įgyvendina DI per funkcijų parametrizaciją naudojant Depends. Pavyzdžiui:
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
Čia get_db yra priklausomybė, kuri automatiškai įvedama į handler. Tai palengvina išteklių valdymą ir didina programos modulį.