2016-10-13 2 views
1

Почему grapql использует 'data' wrapper в ответах? hereявляется оберткой 'data' для graphql, устаревшей для ответов

Для запроса:

{ 
    hero { 
    name 
    } 
} 

мы получили ответ:

{ 
    "data": { 
    "hero": { 
     "name": "R2-D2" 
    } 
    } 
} 

Но почему бы не просто:

{ 
    "hero": { 
     "name": "R2-D2" 
    } 
} 

ли Тад данных обертка является устаревшим уже (джут doc не обновляется)?

ответ

4

Это поле data, потому что кроме этого может быть поле errors. Фактически, если запрос ошибочен, может быть только поле errors и данные отсутствуют. В дополнение к этим двум, также возможно иметь третий ключ под названием extensions для - вы уже догадались - пользовательские расширения.

Дополнительную информацию см. В разделе 7.2 раздела GraphQL Draft Specification.

+1

Также вы можете получить ответ с полями 'data' и' error' вообще. Вот почему вам нужно завернуть результат. – LordDave

Смежные вопросы