【问题标题】:Unable to infer GraphQL type from TypeScript reflection system无法从 TypeScript 反射系统推断 GraphQL 类型
【发布时间】:2020-12-11 10:12:51
【问题描述】:

我正在尝试创建一个警报类,如下所示:

@ObjectType()
export class Alert {
  @Field()
  status: 'error' | 'success' | 'warning' | 'info' | undefined

  @Field(() => [String])
  messages: string[];
}

但是,它给了我以下错误消息:

错误:无法从 TypeScript 反射系统推断 GraphQL 类型。 您需要为“警报”类的“状态”提供显式类型。

【问题讨论】:

    标签: node.js typescript graphql


    【解决方案1】:

    'error' | 'success' | 'warning' | 'info' | undefined 创建一个类型并将其添加到字段定义中,如下所示: @Field(() => StatusType)

    它基本上是在抱怨它无法推断该字段的类型,因为它不是原始类型,只要字段是对象或其他用户定义的类型,您就需要像我描述的那样提供类型信息

    【讨论】:

    • 知道有没有办法用标准类型做到这一点? typegraphql 似乎希望一切都成为一个装饰的 @ObjectType() 类。手动定义类型会在类型检查器中引发错误
    • 不幸的是,据我所知,它似乎不允许这样做,但如果你找到一种方法让标准类型为其工作,我会很感兴趣
    猜你喜欢
    • 1970-01-01
    • 2021-12-04
    • 2021-06-15
    • 2020-11-01
    • 2017-03-08
    • 1970-01-01
    • 2018-07-03
    • 2019-09-17
    相关资源
    最近更新 更多