
Validazione e DTO
class-validator, class-transformer, DTO, ValidationPipe, validatori personalizzati, sanitizzazione
1Cos'è un DTO (Data Transfer Object) in NestJS?
Cos'è un DTO (Data Transfer Object) in NestJS?
Risposta
Un DTO è una classe TypeScript che definisce la struttura dei dati trasferiti tra client e server. Funge da contratto di dati e consente di validare automaticamente gli input usando decoratori come @IsString o @IsNumber. I DTO migliorano la sicurezza filtrando le proprietà non autorizzate e facilitano la manutenzione del codice.
2Quale pacchetto consente di aggiungere vincoli di validazione ai DTO?
Quale pacchetto consente di aggiungere vincoli di validazione ai DTO?
Risposta
Il pacchetto class-validator fornisce decoratori di validazione come @IsString, @IsEmail, @Min, @Max che consentono di definire regole di validazione sulle proprietà dei DTO. Funziona in tandem con ValidationPipe per validare automaticamente i dati in arrivo. Questo pacchetto è ampiamente utilizzato nell'ecosistema NestJS per garantire l'integrità dei dati.
3Quale decoratore valida che una proprietà sia una stringa?
Quale decoratore valida che una proprietà sia una stringa?
Risposta
Il decoratore @IsString verifica che una proprietà sia di tipo string. Si applica direttamente sulla proprietà del DTO e rifiuta automaticamente qualsiasi valore che non sia una stringa. Questo decoratore è uno dei più utilizzati poiché copre un caso di validazione molto comune nelle API REST.
Dove deve essere configurato ValidationPipe per validare tutte le rotte dell'applicazione?
Quale decoratore valida che un campo non sia vuoto?
+17 domande da colloquio
Altri argomenti di colloquio Node.js / NestJS
Fondamenti di Node.js
API Core di Node.js
Programmazione asincrona
Fondamenti di Express.js
Fondamenti di NestJS
Progettazione di API REST
Documentazione API e contratti
Gestione degli errori
Test unitari
Pianificazione delle attività
Moduli e DI di NestJS
Configurazione e gestione degli ambienti
Autenticazione JWT
Autorizzazione e RBAC
Database con TypeORM
Prisma ORM
Middleware e Interceptor
Caricamento file
WebSockets
GraphQL con NestJS
Test end-to-end
Caching con Redis
Code con Bull
DevOps, Logging e CI/CD
Docker e containerizzazione
Microservices
Migliori pratiche di sicurezza
Performance e deployment cloud
Padroneggia Node.js / NestJS per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis