无法从 TypeScript 反射系统推断 GraphQL 类型
Posted
技术标签:
【中文标题】无法从 TypeScript 反射系统推断 GraphQL 类型【英文标题】:Unable to infer GraphQL type from TypeScript reflection system 【发布时间】:2020-12-11 10:12:51 【问题描述】:我正在尝试创建一个警报类,如下所示:
@ObjectType()
export class Alert
@Field()
status: 'error' | 'success' | 'warning' | 'info' | undefined
@Field(() => [String])
messages: string[];
但是,它给了我以下错误消息:
错误:。 您需要为“警报”类的“状态”提供显式类型。
【问题讨论】:
【参考方案1】:为'error' | 'success' | 'warning' | 'info' | undefined
创建一个类型并将其添加到字段定义中,如下所示:
@Field(() => StatusType)
它基本上是在抱怨它无法推断该字段的类型,因为它不是原始类型,只要字段是对象或其他用户定义的类型,您就需要像我描述的那样提供类型信息
【讨论】:
知道有没有办法用标准类型做到这一点? typegraphql 似乎希望一切都成为一个装饰的 @ObjectType() 类。手动定义类型会在类型检查器中引发错误 不幸的是,据我所知,它似乎不允许这样做,但如果你找到一种方法让标准类型为其工作,我会很感兴趣以上是关于无法从 TypeScript 反射系统推断 GraphQL 类型的主要内容,如果未能解决你的问题,请参考以下文章