Сведения об обозревателе GraphQL
GraphiQL, также упоминаемый в этой документации как обозреватель GraphQL, является "графической интерактивной IDE GraphQL в браузере".
Использование интегрированной среды разработки клиента Altair GraphQL
Существует множество открытый код GraphQL клиентских URI. Например, вы можете использовать Altair для доступа к API GraphQL GitHub. Чтобы получить доступ к API GraphQL с помощью Altair, скачайте и установите его с сайта altair-graphql/altair. Затем выполните приведенные ниже действия по настройке.
Настройка Altair
- Получение маркера доступа.
- Запустите Altair.
- На левой боковой панели под логотипом Altair щелкните Задать заголовки. Открывается новое окно.
- В поле "Ключ заголовка" введите
Authorization
. - В поле "Значение заголовка" введите
Bearer TOKEN
, заменивTOKEN
маркером с первого шага. - Нажмите кнопку Сохранить в правом нижнем углу окна, чтобы сохранить заголовок авторизации.
- В поле "Конечная точка GraphQL" введите
http(s)://<em>HOSTNAME</em>/api/graphql
. - Чтобы загрузить схему GraphQL GitHub, скачайте общедоступную схему.
- В Altair щелкните Документы в правом верхнем углу, а затем три точки и Загрузить схему...
- Выберите общедоступную схему файла, скачав на предыдущем шаге.
Примечание. Дополнительные сведения о том, почему POST
является методом , см. в разделе Формирование вызовов с помощью GraphQL.
Можно проверить доступ, сделав запрос себе:
query {
viewer {
login
}
}
Если все сработало правильно, будет отображаться ваше имя для входа. Все готово для начала выполнения запросов.
Доступ к документации на боковой панели
Все типы в схеме GraphQL включают поле description
, скомпилированное в документацию. Свертываемая панель Документация справа на странице обозревателя позволяет просматривать документацию по системе типов. Документация автоматически обновляется, а нерекомендуемые поля удаляются.
Боковая панель Документы содержит то же содержимое, которое автоматически создается из схемы в разделе "Документация по API GraphQL для GitHub", хотя оно отформатировано по-разному в местах.
Использование панели переменных
Некоторые примеры вызовов включают переменные, написанные так:
query($number_of_repos:Int!){
viewer {
name
repositories(last: $number_of_repos) {
nodes {
name
}
}
}
}
variables {
"number_of_repos": 3
}
Это правильный формат для отправки вызова с помощью POST
запроса в команде curl
(при условии, что вы экранируете новые строки).
Если вы хотите выполнить вызов в обозревателе, введите сегмент query
на главной панели и переменные на панели Переменные запроса под ним. Опустите слово variables
из обозревателя:
{
"number_of_repos": 3
}
Запрос поддержки
Для вопросов, отчетов об ошибках и обсуждений по GitHub Apps, OAuth Apps и разработке API ознакомьтесь с Обсуждения API и интеграции в сообществе GitHub. Обсуждения модерируются и обслуживаются сотрудниками GitHub, но гарантий того, что сотрудники GitHub ответят на вопросы, опубликованные на форуме, нет.
В службу поддержки GitHub можно обратиться напрямую через форму связи, чтобы получить:
- гарантированный ответ от сотрудников GitHub Enterprise Server;
- запросы на поддержку, связанные с конфиденциальными данными или частными проблемами;
- запросы функций;
- отзывы о продуктах GitHub Enterprise Server.
Устранение ошибок
Так как GraphQL является интроспективным, обозреватель поддерживает:
- Интеллектуальные опережающие вводы с учетом текущей схемы
- Предварительный просмотр ошибок проверки при вводе
Если вы вводите запрос с неправильным форматом или запрос, который не проходит проверку схемы, всплывающее окно предупредит вас об ошибке. При выполнении запроса ошибка возвращается в панель ответов.
Ответ GraphQL содержит несколько ключей: хэш data
и массив errors
.
{
"data": null,
"errors": [
{
"message": "Objects must have selections (field 'nodes' returns Repository but has no selections)",
"locations": [
{
"line": 5,
"column": 8
}
]
}
]
}
Возможно, вы столкнулись с непредвиденной ошибкой, не связанной со схемой. В этом случае сообщение будет содержать справочный код, который можно использовать, сообщая о проблеме:
{
"data": null,
"errors": [
{
"message": "Something went wrong while executing your query. This is most likely a GitHub bug. Please include \"7571:3FF6:552G94B:69F45B7:5913BBEQ\" when reporting this issue."
}
]
}
Примечание. GitHub рекомендует проверять наличие ошибок перед использованием данных в рабочей среде. В GraphQL сбой не является общим: часть запросов GraphQL может быть выполнена успешно, а другая — завершиться сбоем.