Как вернуть несколько объектов в виде массива в GraphQL - PullRequest
0 голосов
/ 05 июля 2018

Я бы хотел запросить массив объектов в graphql.

Я пробовал что-то вроде:

{
    imageSharp(id: {regex: "/whales/"}) {
        data: [
            resize(width: 300, height: 800 ) {
                src
                width
            },
            resize(width: 400, height: 1000 ) {
                src
                width
            },
            resize(width: 500, height: 1200 ) {
                src
                width
            }
        ]
    }
}

Возможно ли или я должен написать отдельное имя для каждого объекта

{
  imageSharp(id: {regex: "/whales/"}) {
    data1: resize(width: 300, height: 800) {
      src
      width
    }
    data2: resize(width: 400, height: 1000) {
      src
      width
    }
    data3: resize(width: 500, height: 1200) {
      src
      width
    }
  }
}

Ответы [ 2 ]

0 голосов
/ 05 июля 2018

Вы не можете запросить массив, как в первом примере, Но из того, что я вижу, вы хотите извлечь несколько результатов "изменения размера" на основе разных фильтров в один массив,

единственный возможный способ сделать это - дать псевдонимы для различных параметров фильтра, таких как ваш второй пример запроса, но тогда это будет в нескольких массивах,

или изменить объект фильтра в резольвере "resize", чтобы получить массив ширины, высоты и, таким образом, вернуть результат в одном массиве

0 голосов
/ 05 июля 2018

Можете ли вы показать свою схему, как она строится? Если ваша схема поддерживает возврат только одного объекта, вам нужно будет выполнить несколько запросов. Но ваш сервер может поддерживать пакетные запросы. Тогда вы избежите многократных запросов к серверу. https://dev -blog.apollodata.com / запрос-дозирующие-в-Аполлон-63acfd859862

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...