如何使用 toJSON 更改序列化实体的 属性 名称?
How can I change the property name of a serialized entity with toJSON?
我想序列化一个 属性,其名称与实体中的名称不同。
@Entity()
export class MyEntity {
// This should be serialized with name_column in JSON
@Column()
name: string
}
当我调用 classToPlain
时,我希望将 属性 name
序列化为 name_column
:
classToPlain(myEntity)
// returns: {name: 'my name'}
// should be: {name_column: 'my name'}
您使用 json-typescript-mapper
而不是 nest.js 原生支持的 是否有特定原因?
使用 class-transformer
,您可以使用 @Expose
更改列的名称:
@Expose({ name: "name_column" })
name: string;
对于序列化,您可以只用 @UseInterceptors(ClassSerializerInterceptor)
注释您的控制器 class 或单独的方法。使用注释,它会自动序列化所有实体,您从控制器方法return。您可以在 .
中阅读更多相关信息
我想序列化一个 属性,其名称与实体中的名称不同。
@Entity()
export class MyEntity {
// This should be serialized with name_column in JSON
@Column()
name: string
}
当我调用 classToPlain
时,我希望将 属性 name
序列化为 name_column
:
classToPlain(myEntity)
// returns: {name: 'my name'}
// should be: {name_column: 'my name'}
您使用 json-typescript-mapper
而不是 nest.js 原生支持的
使用 class-transformer
,您可以使用 @Expose
更改列的名称:
@Expose({ name: "name_column" })
name: string;
对于序列化,您可以只用 @UseInterceptors(ClassSerializerInterceptor)
注释您的控制器 class 或单独的方法。使用注释,它会自动序列化所有实体,您从控制器方法return。您可以在