Jas*_*ues 6 javascript node.js express typescript nestjs
使用 NestJS,我们可以@Body()
使用验证管道转换传入的请求。
同样,我希望我的回复使用https://github.com/typestack/class-transformer 进行 转换classToPlain
。
这样我就可以将字段值映射到响应格式,例如:
export class FoobarDto {
@Transform((money: ExchangeableMoney) => money.localValues)
public foobar: ExchangeableMoney;
}
Run Code Online (Sandbox Code Playgroud)
在 NestJS 中实现这一目标的惯用方法是什么?
通常,您会将内置ClassSerializerInterceptor
函数与ValidationPipe
(with transform: true
)结合使用。它会自动调用classToPlain
响应:
在您的 dto (with toPlainOnly
) 中:
@Transform((money: ExchangeableMoney) => money.localValues, {toPlainOnly: true})
public foobar: ExchangeableMoney;
Run Code Online (Sandbox Code Playgroud)
在您的控制器中:
@UseInterceptors(ClassSerializerInterceptor)
Run Code Online (Sandbox Code Playgroud)
或在您的 main.ts 中全局:
app.useGlobalInterceptors(new ClassSerializerInterceptor(app.get(Reflector)));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
6644 次 |
最近记录: |