Можете ли вы распространить поле GraphQL?

В основном я пытаюсь распространить поле GraphQL, поэтому у меня не так много вложенности. Например:

query {
  user(id: aasdfasdf) {
    ...address {
      street
    }
  }
}

вывод

{
  user: {
    street: '111 Cool Street'
  }
}
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Что такое Apollo Client и зачем он нужен?
Что такое Apollo Client и зачем он нужен?
Apollo Client - это полнофункциональный клиент GraphQL для JavaScript-приложений, который упрощает получение, управление и обновление данных в...
2
0
1 371
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Нет. Из спецификации:

When querying an Object, the resulting mapping of fields are conceptually ordered in the same order in which they were encountered during query execution, excluding fragments for which the type does not apply and fields or fragments that are skipped via @skip or @include directives.

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

Хотя это экспериментально, если вы используете клиент javascript, вы можете взглянуть на graphql-lodash. Он подключается к существующим клиентам и позволяет использовать настраиваемые директивы для применения произвольных преобразований к вашему ответу.

отличная находка на graphql-lodash

Alex Cory 24.01.2019 02:34

Другие вопросы по теме