Модификация ответа перехватчика с документированием - PullRequest
0 голосов
/ 14 ноября 2018

Я не уверен, специфичен ли этот вопрос для 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 }

Два вопроса здесь:

  1. Даже правильно ли делать такие вещи в перехватчике? Должен ли я перейти на отдельные маршруты вместо?
  2. Как это обычно документируется в чванстве? Особенно меня интересует, как это сделать в Nest.js

Если первый вопрос отрицательный (он неправильный, и я не должен так поступать), то ни один ответ на вопрос номер два не может быть опущен. Спасибо!

...