Typescript 类型脚本类型安全HTTP post不是真正的类型安全

Typescript 类型脚本类型安全HTTP post不是真正的类型安全,typescript,Typescript,因此,应该有一种方法可以调用HTTP post并使用以下代码返回类型化响应: this.http.post<MyType>(....) this.http.post(…) 我确实可以使用返回值,因为它是MyType,但实际上不是。它只有属性,但没有我在MyType中定义的方法。这是一个bug吗?有(简单的)解决方法吗?JavaScript中的数据传输对象(DTO)(因此TypeScript)不能包含方法。DTO只能包含可序列化的数据 这不是一个bug 如果要将DTO值分配给类实例

因此,应该有一种方法可以调用HTTP post并使用以下代码返回类型化响应:

this.http.post<MyType>(....)
this.http.post(…)
我确实可以使用返回值,因为它是
MyType
,但实际上不是。它只有属性,但没有我在
MyType
中定义的方法。这是一个bug吗?有(简单的)解决方法吗?

JavaScript中的数据传输对象(DTO)(因此TypeScript)不能包含方法。DTO只能包含可序列化的数据

这不是一个bug

如果要将DTO值分配给类实例,请使用

const hydrated = Object.assign(new MyType(), dto):

这不是一个错误。方法是不可序列化的,因此不可能通过HTTP传输它们。您必须实例化该类的一个新实例,并将属性设置为从post中检索到的属性。我发现在对象中重新获得方法的一种方法可能是
object.assign(new MyType(),postResponse)
=>例如,您可以在
map
操作符中执行此操作。对不起,但这对我来说显然是一个错误。var dog=新的dog()。dog.bark()返回wuff