首页 > 解决方案 > 来自 GET 与 POST 的打字稿类

问题描述

我不知道如何表达标题,这就是为什么很难搜索,但我有以下问题:

假设我有这样的东西用于在前端显示数据:

class User {
    id: number;
    name: string;
    email: string;
}

class Comment {
    id: number;
    text: string;
    user: User
}

但是要向后端提交评论,我需要发送:

{
    text: 'some text',
    user: 123
}

所以我不能只创建一个新的 Comment 实例,如何处理?我需要两门课,一门用于传入评论,另一门用于传出?我是否需要手动创建一个 javascript 对象,例如:

let c = {
    text: 'some text',
    user: xxx.user.id
}

对于大型嵌套对象来说,这似乎不是一个很好的方法,因此,任何见解都值得赞赏,我对 TS 相当陌生(来自 JS / 节点)。

标签: typescript

解决方案


懒惰的方法

interface IComment {
    id: number;
    text: string;
    user: User | number;
}

推荐阅读