Почему я не могу определить ошибку вывода GraphQL? - PullRequest
1 голос
/ 09 ноября 2019

Я пытаюсь создать простое приложение с Nest.js , GraphQL и MongoDB . Я хотел использовать TypeORM и TypeGraphql , чтобы сгенерировать мою схему и установить соединение с базой данных localhost, но я не могу запустить свой сервер с nest start, потому что я получаю эту ошибку:

UnhandledPromiseRejectionWarning: Ошибка: невозможно определить тип вывода GraphQL для getArticles

Понятия не имею, почему я получаю эту ошибку. Мой класс ArticleEntity не имеет каких-либо не основных типов, поэтому не должно быть никаких проблем. Я пытался удалить () => ID из @Field() декоратора поданного _id класса ArticleEntity, но это не помогло

ArticleResolver

@Resolver(() => ArticleEntity)
export class ArticlesResolver {
  constructor(
    private readonly articlesService: ArticlesService) {}

  @Query(() => String)
  async hello(): Promise<string> {
    return 'Hello world';
  }

  @Query(() => [ArticleEntity])
  async getArticles(): Promise<ArticleEntity[]> {
    return await this.articlesService.findAll();
  }

}

ArticleService

@Injectable()
export class ArticlesService {
  constructor(
    @InjectRepository(ArticleEntity)
    private readonly articleRepository: MongoRepository<ArticleEntity>,
  ) {}

  async findAll(): Promise<ArticleEntity[]> {
    return await this.articleRepository.find();
  }
}

ArticleEntity

@Entity()
export class ArticleEntity {
  @Field(() => ID)
  @ObjectIdColumn()
  _id: string;

  @Field()
  @Column()
  title: string;

  @Field()
  @Column()
  description: string;
}

ArticleDTO

@InputType()
export class CreateArticleDTO {
  @Field()
  readonly title: string;

  @Field()
  readonly description: string;
}

Если вынужно что-нибудь еще комментарий

1 Ответ

1 голос
/ 09 ноября 2019

ArticleEntity следует оформить декоратором @ObjectType, как показано здесь в документах.

@Entity()
@ObjectType
export class ArticleEntity {
  ...
}
...