将具有单值的数组传递给 Nest.js dto 时,我没有获取数组形式的值。
以下是dto代码:
export class DownloadDocsDto {
@Transform(({ value }) => (Array.isArray(value) ? value : [value]))
@IsNotEmpty()
@IsArray()
@IsString({ each: true })
@ApiProperty({
example: ['test.pdf'],
description: 'Document Url List',
required: true,
})
public urlList: [];
}
以下是控制器代码:
@Get('/download/docs')
@ApiOperation({ summary: 'Download documents' })
async downloadDocs(@Query() urlList: DownloadDocsDto) {
console.log(urlList)
}
得到结果:
{ urlList: 'test.pdf' }
但我需要的结果是:
{ urlList: ['test.pdf'] }
当我在 dto 中传递多个值时,得到预期的结果。
需要一些宝贵的帮助。
同样的问题...有人找到这个问题的原因或解决方法吗? 谢谢!