Depends() este o componentă esențială în ecosistemul FastAPI. Sistemul avansat de Dependency Injection din FastAPI pentru injectarea de sesiuni DB, securitate și utilitare.
Sintaxă și Utilizare Practică
Exemplu practic documentat pas cu pas:
from fastapi import Depends
async def conexiune_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
@app.get("/clienti")
async def obtine_clienti(db: Session = Depends(conexiune_db)):
return db.query(Client).all()
Bune Practici în Producție
- Arhitectură și Tipizare: Folosiți DTO-uri, validare strictă și principii de decuplare (Inversion of Control).
- Performanță: Evitați interogările N+1, folosiți mecanisme de caching și rute asincrone unde este cazul.
- Securitate: Validați întotdeauna datele de intrare și aplicați filtre de autorizare pe toate endpoint-urile sensibile.