我是 NestJs 的新手。我在正文中有一个传入字段,我需要在 DTO 中对其进行验证之前对其进行 JSON.parse。
控制器
@Post('test')
@UsePipes(new ValidationPipe({transform: true}))
@UseInterceptors(
FileInterceptor('image', {
storage: diskStorage({
destination: './uploads/users',
filename: editFileName,
}),
fileFilter: imageFileFilter,
}),
)
testapi(
@UploadedFile() file,
// @Body('role', CustomUserPipe) role: string[],
@Body() data: CreateUserDto,
)
{
//
}
DTO
@Transform(role => {JSON.parse(role)}, {toPlainOnly: true})
@IsNotEmpty({message: "Role can't be empty"})
@IsArray({message: "Role must be in array"})
@IsEnum(UserRole, {each: true, message: "Enter valid role"})
role: UserRole[];