Я не уверен, специфичен ли этот вопрос для Nest.js или какой-либо другой инфраструктуры, но в любом случае.
У меня есть маршрут, который возвращает некоторый объект класса А. Теперь мне нужно добавить логику к этому маршруту, которая проверяет, установлен ли конкретный параметр запроса, и если да, полностью преобразовать ответ и вернуть объект класса B.
Мне нужно иметь такие перехватчики на нескольких маршрутах с небольшими модификациями, и значения неперехваченных ответов могут отличаться Эти структуры данных могут выглядеть так.
class A {}
class B { values: A[] }
OriginalResponse1 -> A
OriginalResponse2 -> A[]
OriginalResponse3 -> B
OriginalResponse4 -> B[]
InterceptedResponse1 -> { value, [A], [], [] }
InterceptedResponse2 -> { value, A[1:3], A[3:5], [] }
InterceptedResponse3 -> { value, [], [B], [B.A[1:2]] }
InterceptedResponse4 -> { value, [], [B[1]], B[1:].A }
Два вопроса здесь:
- Даже правильно ли делать такие вещи в перехватчике? Должен ли я перейти на отдельные маршруты вместо?
- Как это обычно документируется в чванстве? Особенно меня интересует, как это сделать в Nest.js
Если первый вопрос отрицательный (он неправильный, и я не должен так поступать), то ни один ответ на вопрос номер два не может быть опущен. Спасибо!