如何使用严格的args类型正确覆盖Express方法?

时间:2019-08-23 14:31:36

标签: typescript express

我想对数据设置限制,可以传递这些数据来表达'res.send()。 现在,我有以下类型声明:

interface ServerResponseData {
  data?: object | object[];
  errors: string[];
}

declare module 'express-serve-static-core' {
  interface Request {
    user?: {
      isAdmin: boolean;
      token: string;
    };
  }

  interface Response {
    /**
     * Overridden Express.Response method.
     * Sends only strictly typed data.
     * @param {string} body.text Short description of request results.
     * @param {object} [body.data] Data to send.
     */
    send(body: ServerResponseData): Response;
  }
}

它确实适用于覆盖Request,但不适用于响应。 TSlint说send已经声明。在路由处理程序中,它使用“旧”类型,没有任何限制。

我应该怎么做才能使它起作用? 谢谢。

0 个答案:

没有答案