РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗jsnsSpGqQr 153 of 201 menu
◀ ▶

Запрос 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.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить