В основном я пытаюсь распространить поле GraphQL, поэтому у меня не так много вложенности. Например:
query {
user(id: aasdfasdf) {
...address {
street
}
}
}
вывод
{
user: {
street: '111 Cool Street'
}
}


Нет. Из спецификации:
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