如何检测未在相应DTO中引用的查询参数的使用?

时间:2019-05-30 11:40:21

标签: nestjs

是否有任何方法可以检测到请求包含其相应DTO中未引用的查询参数的时间?

例如,如果我有以下查询DTO:

export class GetCustomersQueryDTO {
    readonly firstName: string;
    readonly lastName: string;
}

当请求包含firstNamelastName以外的查询参数时,我怎么知道?例如:/customers?name=jon

1 个答案:

答案 0 :(得分:1)

以我理解您的问题的方式,我想说您可以使用NestJS本身的ValidationPipe来实现。

不过,根据您是否只需要拒绝那些具有未知DTO属性的请求(在这种情况下,您可以使用ValidationPipe选项),可能需要稍微调整一下以适合您的需求。或者如果您需要进行进一步处理(在这种情况下,您可以使用NestJS的interceptor功能)。

请参阅此页面,这可能对您有帮助: https://docs.nestjs.com/pipes

让我知道是否有帮助:)