0

我有方法:

@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并将其替换为_like, picklist_name, 就像在 decorator 中一样@Column。这可能吗?

4

1 回答 1

0

公开具有不同名称的属性

@Expose您可以使用类转换器的装饰器在序列化中公开具有不同名称的属性,请参阅此答案

@Expose({ name: 'picklist_name' })
picklistName: string;

内置 ClassSerializerInterceptor

toJSON您可以使用内置函数在ClassSerializerInterceptor从控制器方法返回实体时自动序列化您的实体,而不是自己定义方法,请参阅此答案

@UseInterceptors(ClassSerializerInterceptor)
于 2020-08-27T12:13:01.840 回答