Вы можете распространять поле GraphQL? - PullRequest
0 голосов
/ 24 января 2019

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

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

выход

{
  user: {
    street: '111 Cool Street'
  }
}

1 Ответ

0 голосов
/ 24 января 2019

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

При запросе объекта результирующее сопоставление полей концептуально упорядочено в том же порядке, в котором они встречались при выполнении запроса, за исключением фрагментов, для которых тип не применяется, и полей или фрагментов, которые пропускаются через @skip или @ включить директивы.

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

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

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