2

我正在使用 TypeScript 装饰器来定义我的无服务器 API 的 Swagger 文档。有没有办法在我的 API 参数的解构定义中使用装饰器?

我已经尝试了明显的解构路线,我只定义了我的解构元素,并将注释放在对象中它们之前。

以下工作正常。

@Get('{pathParam1}/myPath/{pathParam2}')
@Response<MyModel>('200', 'Model Found')
  public async handler(@Path('pathParam1') pathParam1: string, @Path('pathParam2') pathParam2: string ) {
  ...
};

但是,我实际上并没有像这样得到 pathParameters。我把它们放在一个事件对象中。

我想做这样的事情

@Get('{pathParam1}/myPath/{pathParam2}')
@Response<MyModel>('200', 'Model Found')
  public async handler({ pathParameters: { @Path('pathParam1') pathParam1, @Path('pathParam2') pathParam2 } }: Event ) {
  ...
};

事件类型如下所示

interface Event {
  pathParameters: object;
  body: any;
  headers: object;
}

但是,上述内容在 TypeScript 中无法正确编译。

在整个处理程序方法中,我从 TypeScript 中得到了各种编译时错误,但实际方法参数本身的错误如下。

Property destructuring pattern expected. ts(1180)

4

0 回答 0