我正在使用 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)