Nest js - 在 ToJSON 方法中更改虚线的大写字母
Nest js - Change capital letter for dashed in ToJSON method
我有方法:
@Entity()
export class Picklist extends BaseD2CEntity {
@ApiHideProperty()
@PrimaryGeneratedColumn()
id: number;
@Column({ name: 'picklist_name' })
@IsString()
@ApiProperty({ type: String, description: 'picklist_name' })
picklistName: string;
toJSON() {
return classToPlain(this);
}
}
目前要序列化对象,有:
myPicklist.picklist.toJSON();
我得到:
{ id: 7, picklistName: "status", }
什么是正确的。
但是,我需要替换 picklistName
的大写字母并将其替换为 _
,如 picklist_name
,如装饰器 @Column
中那样。
这可能吗?
公开不同名称的属性
您可以使用 class-transformer 的 @Expose
装饰器在序列化中公开具有不同名称的属性,请参阅此 :
@Expose({ name: 'picklist_name' })
picklistName: string;
Built-in ClassSerializerInterceptor
您可以使用 built-in ClassSerializerInterceptor
在从控制器方法返回实体时自动序列化您的实体,而不是自己定义 toJSON
方法,请参阅此 .
@UseInterceptors(ClassSerializerInterceptor)
我有方法:
@Entity()
export class Picklist extends BaseD2CEntity {
@ApiHideProperty()
@PrimaryGeneratedColumn()
id: number;
@Column({ name: 'picklist_name' })
@IsString()
@ApiProperty({ type: String, description: 'picklist_name' })
picklistName: string;
toJSON() {
return classToPlain(this);
}
}
目前要序列化对象,有:
myPicklist.picklist.toJSON();
我得到:
{ id: 7, picklistName: "status", }
什么是正确的。
但是,我需要替换 picklistName
的大写字母并将其替换为 _
,如 picklist_name
,如装饰器 @Column
中那样。
这可能吗?
公开不同名称的属性
您可以使用 class-transformer 的 @Expose
装饰器在序列化中公开具有不同名称的属性,请参阅此
@Expose({ name: 'picklist_name' })
picklistName: string;
Built-in ClassSerializerInterceptor
您可以使用 built-in ClassSerializerInterceptor
在从控制器方法返回实体时自动序列化您的实体,而不是自己定义 toJSON
方法,请参阅此
@UseInterceptors(ClassSerializerInterceptor)