类转换器排除未定义的属性



从类中排除未定义或null属性。这是真实的本质,但我需要一个可以忽略这个的装饰师

import {Expose, plainToClass} from "class-transformer";
class User {
@Expose() id: number;
@Expose() firstName: string;
@Expose() lastName: string;
}
const fromPlainUser = {
unkownProp: 'hello there',
firstName: 'Umed',
lastName: 'Khudoiberdiev',
}
console.log(plainToClass(User, fromPlainUser, { excludeExtraneousValues: true }))
// User {
//   id: undefined,
//   firstName: 'Umed',
//   lastName: 'Khudoiberdiev'
// }

exposeUnsetFields添加到选项纯对象中。应为:


plainToClass(User, fromPlainUser, { excludeExtraneousValues: true, exposeUnsetFields: false, })

如果您创建了一个类实例,那么您将拥有它的属性。如果您想要一个没有未定义属性的对象,只需使用避免未定义字段的规则将类实例转换回普通对象即可。它将不再是一个类实例,但它将是一个没有未定义字段的对象。

最新更新