使用代码优先方法在NestJS中使用GraphQL模型出错

时间:2020-04-02 19:14:55

标签: graphql nestjs

我在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
}

服务器启动时,出现以下错误消息。

参考错误:初始化前无法访问“狗”

我在做什么错? Dog是否需要由解析器中的 @ResolveField()解析?就我而言,它只是Person中的一个嵌套对象。狗不是来自其他服务电话。

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

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

1 个答案:

答案 0 :(得分:0)

我认为您需要做的就是首先声明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;
}