Получение ошибки с моделью GraphQL в Nest JS с использованием подхода «сначала код» - PullRequest
0 голосов
/ 02 апреля 2020

Я использую подход кода в Nest JS для создания схем 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. Собака не приходит из другого вызова службы.

По сути, я хочу представить следующую структуру.

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

1 Ответ

0 голосов
/ 05 апреля 2020

Я думаю, все, что вам нужно сделать, это объявить 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;
}
...