Вступить в клуб →
сложнаявопросTypeScript на бэкенде: данные из базы, конфиг и события

Интерфейс DTO и схема валидации разошлись, и поле проверяется не так, как типизировано

Для создания заказа есть интерфейс CreateOrderDto и отдельно написанная схема валидации Zod. Полгода назад в интерфейсе поле comment сделали необязательным, а в схеме забыли. Клиенты, не передающие комментарий, получают 400, хотя по типам всё корректно.

Как устранить класс таких ошибок?

  • Выводить тип из схемы: один источник правды
  • Писать тест на каждое поле интерфейса
  • Отказаться от схемы и полагаться на интерфейс
  • Сравнивать интерфейс и схему на ревью

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела