私はNestJSが初めてで、クエリパラメーターからフィルターDTOを入力しようとしています。
ここに私が持っているものがあります:
クエリ:
ローカルホスト:3000/api/checklists?stations=114630,114666,114667,114668
コントローラ
@Get()
public async getChecklists(@Query(ValidationPipe) filter: ChecklistFilter): Promise<ChecklistDto[]> {
// ...
}
DTO
export class ChecklistFilter {
@IsOptional()
@IsArray()
@IsString({ each: true })
@Type(() => String)
@Transform((value: string) => value.split(','))
stations?: string[];
// ...
}
これにより、クラスバリデーターは文句を言いませんが、フィルターオブジェクトでステーションは実際には配列ではなく、単一の文字列のままです。
検証パイプ内で配列に変換したい。どうすればそれを達成できますか?