我在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
}
}
答案 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;
}