graphql- все статьи тега


Почему нельзя разрешать поля GraphQL как конечные точки REST

GraphQL сулит огромные преимущества. Вот некоторые из них: Один и тот же API может использоваться несколькими клиентами, поскольку есть возможность запрашивать необходимые данные из API по условию.Сокращается использование данных клиентом, так как с сервера передаются только необходимые данные.Бэкенд API не имеет настолько тесной связи с местом св...

Решаем проблему запроса N+1 в GraphQL с помощью Dataloader

Предыдущая часть: “Почему нельзя разрешать поля GraphQL как конечные точки REST” В предыдущей статье мы закончили на том, что при разрешении полей возникает проблема запроса N+1. Теперь мы рассмотрим, как решить указанную проблему с помощью Dataloader. Что такое Dataloader? Dataloader  —  это библиотека, которая пакует последовательные запросы и “...

Добавление отношений в схему GraphQL

Отправная точка Строить мы будем на базовом сервере GraphQL. Код можно скачать здесь или с помощью: git clone --branch setup https://github.com/bjdixon/graphql-server.git При клонировании/загрузке нужно создать экземпляр MongoDB и заменить строку подключения в файле ./index.js. Убедитесь, что зависимости установлены: npm install Затем запусти...

Как сделать так, чтобы вложенные нападение на GraphQL/Аполлон сервер?

Как предотвратить вложенную атаку на сервер Apollo с помощью запроса, например: { authors { firstName posts { title author { firstName posts{ title author { firstName posts { title [n author] [n post] } } } } } } } Другими словами, как можно ограничить число рекурсий, отправляемых в запросе? Это может быть потенциальной уязвим ...

Типы перечисления GraphQL SDL

У нас есть куча типов перечисления, определенных в SDL, и они отлично работают для запросов и мутаций. В разделе решатели они сопоставляются со строками, которые представляют эти перечисления в задней части. Например, в SDL мы имеем: enum WRRole { USER PROVIDER SUPPORT ADMIN SUPER_ADMIN GUEST } А в разделе решатели мы имеем: WRRole: { USER: 'user', PROVIDER: 'provider', SUPPORT: 'support', ADMIN: 'admin', SUPER_ADMIN: 'super admin', GUEST: 'guest ...

Как передать параметр в запрос graphql?

Я пытаюсь использовать Apollo graphql в проекте Meteor blaze. Я использую пакет из swydo:blaze-apollo. Это нормально, чтобы получить данные из mongoDB с помощью запроса graphql. // Using this one can get data const LOCATION_COUNTRY_QUERY = gql` { locations(location_type: "Country"){ location_id name iso_code } } `; Template.home.onCreated(function(){ const country = this.gqlQuery({query: LOCATION_COUNTRY_QUERY}).get(); console.log(country.locations); / ...

Конкатенация или интерполяция строк GraphQL

Я использую GitHub API v 4 для изучения GraphQL. Вот разбитый запрос для извлечения BLOB-объектов (файлов) и их текстового содержимого для данной ветви: query GetTree($branch: String = "master") { repository(name: "blog-content", owner: "lzrski") { branch: ref(qualifiedName: "refs/heads/${branch}") { name target { ... on Commit { tree { entries { name object { ... on Blob { isBinary ...