如何使用 Sequelize-Typescript 模型定义指定 NestJs 控制器的返回类型?

Posted

技术标签:

【中文标题】如何使用 Sequelize-Typescript 模型定义指定 NestJs 控制器的返回类型?【英文标题】:How can I specify the return type of a NestJs controller with a Sequelize-Typescript model definition? 【发布时间】:2020-09-14 20:08:49 【问题描述】:

我试过了:

    @Post()
    async create(@Body() body: CreateStreamDto): Promise<typeof Stream> 
        return  id: '12', connectionUrl: 'stuff' 
    

但它说:

ype ' id: string; connectionUrl: string; ' is not assignable to type 'typeof Stream'.
  Object literal may only specify known properties, and 'id' does not exist in type 'typeof Stream'.

【问题讨论】:

什么是Stream?你想在这里返回什么? 这是一个sequelize-typescript 定义的模型:``` @Table export class Stream extends Model ``` 【参考方案1】:

如果您要返回模型的实例,您应该只需要Promise&lt;Stream&gt;typeof Stream 可能会返回 Object 或类似的东西,这就是您收到上述错误的原因。

【讨论】:

以上是关于如何使用 Sequelize-Typescript 模型定义指定 NestJs 控制器的返回类型?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Sequelize-Typescript 模型定义指定 NestJs 控制器的返回类型?

sequelize-typescript - 当使用带有 `tsc` 编译器(带有 NestJS)的 glob 配置时,无法解析模型模块

Node.js 和 sequelize-typescript - 数据访问对象和业务对象

sequelize-typescript:模型中get()的通用方法

Sequelize-typescript 'HasManyCreateAssociationMixin' 不是函数

sequelize/sequelize-typescript - 带有 HasMany 的 findAll 返回一个对象而不是数组