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

Введение в GraphQL в Nest

Экрану нужны и список, и детали сразу, а обычный JSON ответ отдаёт лишние поля или требует несколько обращений к серверу. Клиент тянет целый объект, хотя на экране видна только часть данных.

GraphQL принимает текст запроса с перечнем нужных полей и возвращает ровно их в одном ответе. В Nest для подхода code-first ставят пакеты @nestjs/graphql, @nestjs/apollo, @apollo/server и graphql: типы и операции описывают классами TypeScript, а схема собирается автоматически при старте процесса NodeJS.

Класс с пометкой резолвера отвечает за чтение и изменение данных в памяти так же, как контроллер на HTTP, только клиент приходит через единую точку GraphQL. Резолвер регистрируют среди провайдеров модуля рядом с подключением GraphQLModule.forRoot и драйвером ApolloDriver с флагом autoSchemaFile.

Дальше разберём установку модулей, первый запрос списка строк, выбор одной записи по идентификатору, мутацию для новой строки, описание типа объекта, отдельную подгрузку связанного поля и простую проверку доступа на уровне резолвера без Passport и без JWT.

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