Запрос GraphQL в Nest
Точка GraphQL уже открыта, но клиент получает пустую схему: ни одной операции чтения ещё не объявлено, хотя заголовки уже лежат в массиве на сервере.
Резолвер - класс
с пометкой Resolver,
где методы с Query
отвечают на чтение.
Возвращаемый тип указывают
в скобках декоратора, например
массив строк. Класс записывают
в провайдерах того же модуля,
где подключён GraphQL.
Покажем на примере постов:
import { Query, Resolver } from '@nestjs/graphql';
@Resolver()
export class PostResolver {
titles = ['Первый', 'Второй'];
@Query(() => [String])
posts(): string[] {
return this.titles;
}
}
Подключим резолвер и модуль GraphQL в корне:
import { Module } from '@nestjs/common';
import { GraphQLModule } from '@nestjs/graphql';
import { ApolloDriver, ApolloDriverConfig } from '@nestjs/apollo';
import { PostResolver } from './post.resolver.js';
@Module({
imports: [
GraphQLModule.forRoot<ApolloDriverConfig>({
driver: ApolloDriver,
autoSchemaFile: true,
}),
],
providers: [PostResolver],
})
export class AppModule {}
Опишите WorkerResolver
с операцией чтения, которая
возвращает массив имён из
поля класса, и запишите его
в провайдерах корневого модуля
рядом с GraphQL.