Junior — Middle
Quel est le rôle de l'injection de dépendances dans FastAPI et pourquoi est-elle nécessaire?
sobes.tech IA
Réponse de l'IA
L'injection de dépendances (Dependency Injection, DI) dans FastAPI est utilisée pour gérer les dépendances entre les composants de l'application, par exemple, pour se connecter à la base de données, obtenir l'utilisateur actuel, configurer la mise en cache, etc. Cela permet de:
- Éliminer la rigidité entre les composants.
- Améliorer la testabilité du code, car les dépendances peuvent être facilement remplacées.
- Gérer de manière centralisée la création et le cycle de vie des objets.
FastAPI implémente la DI via la paramétrisation des fonctions gestionnaires avec Depends. Par exemple:
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
Ici, get_db est une dépendance qui est injectée automatiquement dans le gestionnaire. Cela simplifie la gestion des ressources et augmente la modularité de l'application.