
Валідація та DTO
class-validator, class-transformer, DTO, ValidationPipe, кастомні валідатори, санітизація
1Що таке DTO (Data Transfer Object) у NestJS?
Що таке DTO (Data Transfer Object) у NestJS?
Відповідь
DTO — це клас TypeScript, який визначає структуру даних, що передаються між клієнтом і сервером. Він діє як контракт даних і дозволяє автоматично валідувати вхідні дані за допомогою декораторів, таких як @IsString або @IsNumber. DTO підвищують безпеку, відфільтровуючи несанкціоновані властивості, і спрощують підтримку коду.
2Який пакет дозволяє додавати обмеження валідації до DTO?
Який пакет дозволяє додавати обмеження валідації до DTO?
Відповідь
Пакет class-validator надає декоратори валідації, такі як @IsString, @IsEmail, @Min, @Max, що дозволяють визначати правила валідації для властивостей DTO. Він працює в парі з ValidationPipe для автоматичної валідації вхідних даних. Цей пакет широко використовується в екосистемі NestJS для забезпечення цілісності даних.
3Який декоратор перевіряє, що властивість є рядком?
Який декоратор перевіряє, що властивість є рядком?
Відповідь
Декоратор @IsString перевіряє, що властивість має тип string. Він застосовується безпосередньо до властивості DTO і автоматично відхиляє будь-яке значення, яке не є рядком. Цей декоратор є одним із найуживаніших, оскільки охоплює дуже поширений випадок валідації в REST API.
Де слід налаштувати ValidationPipe, щоб валідувати всі маршрути застосунку?
Який декоратор перевіряє, що поле не порожнє?
+17 питань зі співбесід
Інші теми співбесід Node.js / NestJS
Основи Node.js
Основні API Node.js
Асинхронне програмування
Основи Express.js
Основи NestJS
Проєктування REST API
Документація API та контракти
Обробка помилок
Юніт-тестування
Планування завдань
Модулі та DI у NestJS
Конфігурація та керування середовищами
Автентифікація JWT
Авторизація та RBAC
База даних з TypeORM
Prisma ORM
Middleware та Interceptors
Завантаження файлів
WebSockets
GraphQL з NestJS
Наскрізне тестування (End-to-End)
Кешування з Redis
Черги з Bull
DevOps, Logging та CI/CD
Docker та контейнеризація
Мікросервіси
Найкращі практики безпеки
Продуктивність і хмарне розгортання
Опануй Node.js / NestJS для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно