我有一个代码,我在main.ts
文件中应用了一个全局验证管道,如下所示:
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.enableCors();
// Enable global validation pipe
app.useGlobalPipes(new ValidationPipe({
whitelist: true
}));
}
现在在我的一个控制器中,我想在补丁请求中跳过 DTO 的一些属性,如下所示
@Patch(':id')
// Override the pipes
@UsePipes(new ValidationPipe({
skipMissingProperties: true,
}))
updateProject(@Param('id') accountId: string, @Body() dataToUpdate: UpdateProjectDTO) {
return dataToUpdate;
}
这是我的 DTO:
export class UpdateProjectDTO {
@IsNotEmpty()
projectType: string;
@IsNotEmpty()
projectDescription: string;
}
projectDescription
如果它没有作为请求的一部分提交,我想忽略它。但在这种情况下,我的全局管道优先,它没有被skipMissingProperties
定义为其属性的一部分。是否有覆盖全局管道的解决方案?