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

Мутация GraphQL в Nest

Клиент умеет только читать данные, а новый заголовок на сервере появляется лишь после правки кода и перезапуска. Без операции записи массив в памяти не растёт из GraphQL.

Метод с Mutation меняет состояние: принимает аргументы так же, как чтение, дописывает строку в массив класса и возвращает то, что клиент должен увидеть после сохранения. Резолвер по-прежнему живёт среди провайдеров модуля без базы данных.

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

import { Args, Mutation, Resolver } from '@nestjs/graphql'; @Resolver() export class PostResolver { titles: string[] = ['Первый']; @Mutation(() => String) addPost(@Args('title') title: string): string { this.titles.push(title); return title; } }

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

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