typescript interface 对象检测疑惑

题目描述

定义了一个interface,但是检测不了类型

相关代码

export interface Base {
  token: string; // token
  source?: number; // 来源
  mk: string; // 随机唯一码
  ct: string; // 随机字符串
  [propName: string]: any;
};

export interface OrderCancel extends Base {
  ids: string[];
}

async cancel() {
    const {ctx, service} = this;
    const reqBody: OrderCancel = ctx.request.body;
    ctx.body = await service.order.cancel(reqBody);
    ctx.code = 0;
  }

你期待的结果是什么?实际看到的错误信息又是什么?

我期望的是request.body传入的值匹配OrderCancel这个接口,对传入参数进行检验,但是请求的时候发现所有请求都可以过,没有检测类型,但是直接按照下面赋值的话,就有检测

const {ctx, service} = this;
    const reqBody: OrderCancel = {
        token: 123
    };
    ctx.body = await service.order.cancel(reqBody);
    ctx.code = 0;

求解答,求帮助

阅读 1.7k
1 个回答

const {ctx, service} = this;
这句代码的this从哪来的?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题