Pipe
NestJS 🟡 MidDefinition
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.