当 body 由几个模型/DTO 组合时,微服务很常见,例如,我在我的 API 网关中接收 Foo DTO,然后将其与 User 对象一起发送到微服务。就我而言,Foo DTO 中的 @Transform 装饰器不起作用。但如果 body 只是 Foo,它就可以工作。
@MessagePattern(FOO)
async foo(@Body() body: { user: User, data: Foo }){
}
export class Foo {
@Transform(val => BigInt(val.value))
amount: bigint;
}
app.useGlobalPipes(new ValidationPipe({transform: true}));
定义了所有类型 User 和 Foo ,那么为什么 ValidationPipe 会通过这个转换呢?