Я пытаюсь найти хороший способ проверки тела с помощью DTO (используя блестящие библиотеки class-validator
и class-transformer
). Это работает очень хорошо, даже для вложенных структур, но в моем случае я бы хотел, чтобы свойство body основывалось на некоторых условиях.
Пример, который, вероятно, поможет понять:
Давайте представим, что мое тело всегда должно иметь selectedCategory
.
Исходя из этого поля, содержимое может быть из категории 1, которая содержит prop1
ИЛИ из категории 2, которая содержит prop2
.
Я не хочу разрешать нулевое значение для них обоих, я действительно хочу, чтобы было определено prop1
или prop2
на основе selectedCategory
.
Я думаю, что я мог бы использовать канал, но тогда как я могу указать правильный DTO для использования?
Я создал «базовый» класс со всеми общими свойствами и несколькими другими классами, которые наследуют его.
Я мог бы создать экземпляр канала вручную, основываясь на свойстве selectedCategory
, это было бы идеально, но я понятия не имею, что передать в качестве второго аргумента канала (метаданные).
Спасибо за вашу помощь.