javascript - Adakah cara untuk menggunakan dekorator Typescript pada elemen destrukturisasi dalam parameter metode?
Saya menggunakan dekorator TypeScript untuk mendefinisikan dokumentasi Swagger dari API Serverless saya. Apakah ada cara untuk menggunakan dekorator di dalam definisi destrukturisasi untuk parameter API saya?
Saya telah mencoba jalur destrukturisasi yang jelas, di mana saya hanya mendefinisikan elemen-elemen yang didestrukturisasi, dan menaruh anotasi sebelum mereka di objek.
Yang berikut ini berfungsi dengan baik.
@Get('{pathParam1}/myPath/{pathParam2}')
@Response<MyModel>('200', 'Model Found')
public async handler(@Path('pathParam1') pathParam1: string, @Path('pathParam2') pathParam2: string ) {
...
};
Namun, sebenarnya saya tidak mendapatkan pathParameters seperti ini. Saya mendapatkannya dalam objek event.
Saya ingin melakukan sesuatu seperti ini
@Get('{pathParam1}/myPath/{pathParam2}')
@Response<MyModel>('200', 'Model Found')
public async handler({ pathParameters: { @Path('pathParam1') pathParam1, @Path('pathParam2') pathParam2 } }: Event ) {
...
};
Di mana tipe Event terlihat seperti berikut
interface Event {
pathParameters: object;
body: any;
headers: object;
}
Namun, hal di atas tidak dikompilasi dengan benar di TypeScript.
Saya mendapatkan berbagai kesalahan waktu kompilasi dari TypeScript sepanjang metode handler, tetapi yang ada pada parameter metode itu sendiri adalah sebagai berikut.
Property destructuring pattern expected. ts(1180)