使用草率文档修改拦截器响应

时间:2018-11-14 20:46:44

标签: rest swagger backend interceptor nestjs

我不确定这个问题是特定于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 }

这里有两个问题:

  1. 在拦截器中执行此类操作是否正确?我应该改走其他路线吗?
  2. 那么通常怎么能大张旗鼓地记录下来?特别是我对如何在Nest.js中做到这一点感兴趣

如果第一个问题是否定的(不正确,我不应该那样做),那么第二个问题的答案就可以省略。谢谢!

0 个答案:

没有答案