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

Аргумент запроса в Nest

Список целиком уже отдаётся, а экран детали просит одну запись по номеру. Без аргумента клиент вынужден забирать весь массив и отбирать строку на своей стороне.

Параметр операции чтения помечают Args с именем поля в схеме. Метод ищет элемент в массиве по идентификатору и возвращает строку или пустое значение, если совпадения нет. Тип ответа делают nullable, когда запись может отсутствовать.

Покажем на примере постов:

import { Args, Query, Resolver } from '@nestjs/graphql'; @Resolver() export class PostResolver { rows = [ { id: '1', title: 'Первый' }, { id: '2', title: 'Второй' }, ]; @Query(() => String, { nullable: true }) post(@Args('id') id: string): string | null { const row = this.rows.find((item) => item.id === id); return row ? row.title : null; } }

Зарегистрируем класс в корневом модуле:

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 операцию чтения с аргументом идентификатора, которая возвращает имя одного работника из массива в памяти или пустой ответ, если строки нет.

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