更改打字稿中的属性类型

时间:2019-12-17 11:34:59

标签: node.js typescript fastify

我有多条路线,我想检查我的回复是否为某种类型。对于响应数据,我需要使用res.data,因为它很容易在应用程序挂钩和插件之间传递这样的数据。问题是res.data是在应用程序的顶级定义的,我不知道如何在处理程序中更改它或使它成为通用的。

Codesandbox example

server.route({
  method: "POST",
  url: "/route1",
  handler: async (req, res) => {
    // test1 should give error, because it's not in type Route1Res
    res.data = { res1: "hi", test: 1 };

    // i can do what i want like this, but i need data to be a res prop.
    const data: Route1Res = { res1: "hi" };

    return res.send(res.data);
  }
});

0 个答案:

没有答案