Junior — Middle
Milline on sõltuvuste süstimise roll FastAPI-s ja miks see on vajalik?
sobes.tech AI
Vastus AI-lt
FastAPI sõltuvuste süstimine (Dependency Injection, DI) kasutatakse rakenduse komponentide vahel sõltuvuste haldamiseks, näiteks ühenduse loomine andmebaasiga, praeguse kasutaja saamine, vahemälu seadistamine jne. See võimaldab:
- Eemaldada ranget sidet komponentide vahel.
- Parandada koodi testitavust, kuna sõltuvusi saab hõlpsasti asendada.
- Keskne juhtimine objektide loomise ja elutsükli üle.
FastAPI rakendab DI-d funktsioonide parameetrite kaudu Depends abil. Näide:
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
Siin on get_db sõltuvus, mis automaatselt süstitakse käsitlejasse. See lihtsustab ressursside haldamist ja suurendab rakenduse modulaarust.