我不确定这个问题是特定于Nest.js还是任何后端框架,但是无论如何。
我有一条路由,该路由返回了A类的某些对象。现在,我需要向该路由添加逻辑,以检查是否设置了特定的查询参数,以及是否完全转换了响应并返回了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 }
这里有两个问题:
如果第一个问题是否定的(不正确,我不应该那样做),那么第二个问题的答案就可以省略。谢谢!