gpt4 book ai didi

javascript - 在 Response DTO 中公开自定义 getter 不起作用

转载 作者:行者123 更新时间:2023-12-05 05:50:03 27 4
gpt4 key购买 nike

我试过像这样定义一个自定义的 getter:

import { Expose } from 'class-transformer';

export class MyDTOResponse {
@Expose()
id: string;

@Expose()
name: string;

@Expose()
get thisIsATest(): string {
return 'yolo';
}
}

我是这样改造的:

plainToClass(MyDTOResponse, MyRawDataObject, {
excludeExtraneousValues: true,
});

如此处文档中所述:https://github.com/typestack/class-transformer#exposing-getters-and-method-return-values

然而,响应只有:

{
"id": "f8c213c7-5853-4d01-b424-cb0349a6c580",
"name": "Clean the kitchen!"
}

我不确定我到底做错了什么,但我缺少“thisIsATest”属性。

最佳答案

plainToClass 将返回一个实例。如果您 console.log 这个实例,您将看不到“thisIsATest”属性。你可以试试下面的代码:

const res = plainToClass(MyDTOResponse, MyRawDataObject, {
excludeExtraneousValues: true,
});

console.log(res.thisIsATest); // yolo

console.log(instanceToPlain(res))
// {
// id: 'f8c213c7-5853-4d01-b424-cb0349a6c580',
// name: 'Clean the kitchen!',
// thisIsATest: 'yolo'
// }

顺便说一句,plainToClass 已弃用,请改用 plainToInstance 方法。

关于javascript - 在 Response DTO 中公开自定义 getter 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70586148/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com