【问题标题】:Getting error with GraphQL model in NestJS, using code-first approachNestJS 中的 GraphQL 模型出错,使用代码优先的方法
【发布时间】:2020-07-14 21:09:56
【问题描述】:

我在 NestJS 中使用代码优先的方法来创建 GraphQL 模式。我有以下定义。 可以养一只

@ObjectType()
export class Person {
  @Field()
  name: string;
  @Field(type => Dog, { nullable: true })
  dog?: Dog;
}

@ObjectType()
export class Dog {
  @Field()
  breed: string
  @Field()
  name: string
}

当服务器启动时,我收到以下错误消息。

ReferenceError:在初始化之前无法访问“狗”

我做错了什么? Dog 是否需要在解析器中通过 @ResolveField() 来解析?在我的例子中,它只是 Person 中的一个嵌套对象。 Dog 不是来自另一个服务调用。

本质上,我想表示以下结构。

interface Person {
  name: string;
  dog?: {
    breed: string;
    name: string
  }
}

【问题讨论】:

    标签: graphql nestjs


    【解决方案1】:

    我认为你需要做的就是先声明Dog

    @ObjectType()
    export class Dog {
      @Field()
      breed: string;
      @Field()
      name: string;
    }
    
    @ObjectType()
    export class Person {
      @Field()
      name: string;
      @Field(type => Dog, { nullable: true })
      dog?: Dog;
    }
    

    【讨论】:

    • 天啊...我不敢相信就这么简单。非常感谢!!
    猜你喜欢
    • 2021-10-30
    • 2020-08-17
    • 1970-01-01
    • 2011-08-13
    • 2022-07-29
    • 2022-08-20
    • 2021-01-07
    • 1970-01-01
    • 2020-05-12
    相关资源
    最近更新 更多