
Validation et DTO
class-validator, class-transformer, DTOs, ValidationPipe, custom validators, sanitization
1Qu'est-ce qu'un DTO (Data Transfer Object) dans NestJS ?
Qu'est-ce qu'un DTO (Data Transfer Object) dans NestJS ?
Réponse
Un DTO est une classe TypeScript qui définit la structure des données transférées entre le client et le serveur. Il sert de contrat de données et permet de valider automatiquement les entrées avec des décorateurs comme @IsString ou @IsNumber. Les DTOs améliorent la sécurité en filtrant les propriétés non autorisées et facilitent la maintenance du code.
2Quel package permet d'ajouter des contraintes de validation aux DTOs ?
Quel package permet d'ajouter des contraintes de validation aux DTOs ?
Réponse
Le package class-validator fournit des décorateurs de validation comme @IsString, @IsEmail, @Min, @Max qui permettent de définir des règles de validation sur les propriétés des DTOs. Il fonctionne en tandem avec ValidationPipe pour valider automatiquement les données entrantes. Ce package est largement utilisé dans l'écosystème NestJS pour garantir l'intégrité des données.
3Quel décorateur permet de valider qu'une propriété est une chaîne de caractères ?
Quel décorateur permet de valider qu'une propriété est une chaîne de caractères ?
Réponse
Le décorateur @IsString permet de vérifier qu'une propriété est bien de type string. Il s'applique directement sur la propriété du DTO et rejette automatiquement toute valeur qui n'est pas une chaîne de caractères. Ce décorateur est l'un des plus utilisés car il couvre un cas de validation très courant dans les APIs REST.
Où doit être configuré ValidationPipe pour valider toutes les routes de l'application ?
Quel décorateur permet de valider qu'un champ n'est pas vide ?
+17 questions d'entretien
Autres sujets d'entretien Node.js / NestJS
Fondamentaux Node.js
APIs Core Node.js
Programmation asynchrone
Bases Express.js
Fondamentaux NestJS
Conception d'API REST
Documentation d'API
Gestion des erreurs
Tests unitaires
Planification de tâches
Modules et DI NestJS
Configuration et environnements
Authentification JWT
Autorisation et RBAC
Base de données avec TypeORM
Prisma ORM
Middleware et Interceptors
Upload de fichiers
WebSockets
GraphQL avec NestJS
Tests end-to-end
Cache avec Redis
Files d'attente avec Bull
DevOps, Logging et CI/CD
Docker et Containerization
Microservices
Bonnes pratiques de sécurité
Performance et Déploiement Cloud
Maîtrise Node.js / NestJS pour ton prochain entretien
Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.
Commencer gratuitement