Pipe

NestJS 🟡 Mid

Definition

Classe implementant PipeTransform qui valide ou transforme les donnees entrantes avant qu'elles atteignent le handler. Fonctionne avec class-validator.

Analogie

Comme un filtre a eau : l'eau (donnees) passe a travers et seule l'eau propre (valide) continue.

Exemple de code

@Injectable()
export class ParseIntPipe implements PipeTransform {
  transform(value: string): number {
    const val = parseInt(value, 10);
    if (isNaN(val)) throw new BadRequestException('Not a number');
    return val;
  }
}

Cas d'usage

Valider les DTOs entrants avec class-validator ou transformer les parametres de route.

Anti-pattern

Valider manuellement les donnees dans le controller au lieu d'utiliser ValidationPipe avec des DTOs.
#core#interview