Service
NestJS 🟢 JuniorDéfinition
Provider dédié a la logique métier, annote @Injectable. Il encapsulé les opérations de domaine et est injecte dans les controllers ou autres services.
Analogie
Comme le chef cuisinier d'un restaurant : le serveur (controller) prend la commande mais c'est le chef qui cuisine.
Exemple de code
@Injectable()
export class UserService {
constructor(private repo: UserRepository) {}
async findAll(): Promise<User[]> {
return this.repo.find();
}
}
Cas d'usage
Centraliser la logique métier pour qu'elle soit testable indépendamment des controllers.
Anti-pattern
Termes liés
En entretien
C'est quoi le rôle d'un Service dans NestJS ?
C'est un provider dédié à la logique métier, annoté @Injectable, qui encapsule les opérations de domaine et est injecté dans les controllers ou d'autres services. C'est comme le chef cuisinier d'un restaurant : le serveur prend la commande mais c'est le chef qui cuisine.
Pourquoi c'est un problème d'accéder au repository directement depuis le controller ?
Ça bypasse le service qui est censé centraliser la logique métier, ce qui rend le code moins testable indépendamment des controllers.
Fiche mise à jour le 2026-09-27