Service

NestJS 🟢 Junior

Dé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

Accéder directement au repository depuis le controller en bypassant le service.
#core#interview

En entretien

  1. 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.

  2. 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

← → au clavier pour passer d'une fiche à l'autre