REST/DTO

NestJS 🟢 Junior

Définition

Data Transfer Object : classe qui définit la structure des données entrantes/sortantes. Utilisée avec class-validator pour la validation automatique.

Analogie

Comme un formulaire officiel : il définit les champs attendus et rejette les soumissions invalides.

Exemple de code

export class CreateUserDto {
  @IsEmail()
  email: string;

  @IsString()
  @MinLength(8)
  password: string;

  @IsOptional()
  @IsString()
  name?: string;
}

Cas d'usage

Valider et typer les données entrantes de l'API avant qu'elles atteignent la logique métier.

Anti-pattern

Utiliser le type any ou l'entité base de données directement comme DTO d'entrée.

Termes liés

#core#interview

En entretien

  1. C'est quoi un DTO et à quoi ça sert ?

    Un DTO est une classe qui définit la structure des données entrantes ou sortantes, utilisée avec class-validator pour la validation automatique. C'est comme un formulaire officiel qui définit les champs attendus et rejette les soumissions invalides.

  2. Quel est l'anti-pattern classique avec les DTO ?

    Utiliser le type any ou l'entité base de données directement comme DTO d'entrée, ce qui expose des champs internes et supprime toute validation propre.

Fiche mise à jour le 2026-09-27

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