Sobre o explorador do GraphQL
O GraphiQL, também conhecido como GraphQL Explorer nesta documentação, é um "IDE gráfico interativo do GraphQL no navegador".
Usar GraphiQL
Para usar o aplicativo do GraphiQL, baixe-o e instale-o em https://github.com/skevy/graphiql-app.
Configurar GraphiQL
- Obtenha um token OAuth.
- Iniciar o GraphiQL.
- No canto superior direito do GraphiQL, clique em Editar Cabeçalhos HTTP.
- No campo Chave, insira
Authorization
. No campo Valor, insiraBearer <token>
, em que<token>
é o seu token OAuth gerado. - Clique na marca de seleção � direita do token para salvá-lo.
- Para voltar ao editor, clique fora da caixa de diálogo modal Editar Cabeçalhos HTTP.
- No campo Ponto de Extremidade do GraphQL, insira
http(s)://<em>HOSTNAME</em>/api/graphql
. - No menu suspenso Método, selecione POST.
Observação: para obter mais informações sobre o motivo de o POST
ser o método, confira "Comunicação com o GraphQL".
Você pode testar seu acesso consultando você mesmo:
query {
viewer {
login
}
}
Se tudo funcionou corretamente, isto irá mostrar seu login. Você está pronto para começar a fazer consultas.
Acessar a documentação da barra lateral
Todos os tipos em um esquema do GraphQL incluem um campo description
compilado na documentação. O painel recolhível Documentação no lado direito da página do Explorer permite que você navegue pela documentação sobre o sistema de tipos. A documentação é atualizada automaticamente e eliminará os campos obsoletos.
A barra lateral da Documentação contém o mesmo conteúdo gerado automaticamente com base no esquema em "Referência", embora seja formatado de maneira diferente nos lugares.
Usar o painel de variáveis
Alguns exemplos de chamadas incluem variáveis escritas assim:
query($number_of_repos:Int!){
viewer {
name
repositories(last: $number_of_repos) {
nodes {
name
}
}
}
}
variables {
"number_of_repos": 3
}
Esse é o formato correto para enviar a chamada por meio de um cURL POST
(desde que você faça o escape das novas linhas).
Caso deseje executar a chamada no Explorer, insira o segmento query
no painel principal e as variáveis no painel Variáveis de Consulta abaixo dela. Omita a palavra variables
do Explorer:
{
"number_of_repos": 3
}
Solicitar suporte
For questions, bug reports, and discussions about GitHub Apps, OAuth Apps, and API development, explore the APIs and Integrations discussions on GitHub Community. The discussions are moderated and maintained by GitHub staff, but questions posted to the forum are not guaranteed to receive a reply from GitHub staff.
Consider reaching out to GitHub Support directly using the contact form for:
- guaranteed response from GitHub Enterprise Server staff
- support requests involving sensitive data or private concerns
- feature requests
- feedback about GitHub Enterprise Server products
Solucionando erros
Como o GraphQL é introspectivo, o Explorer dá suporte a:
- Preenchimento automático inteligente do esquema atual
- Pré-visualizações de erros durante a digitação
Se você inserir uma consulta que não esteja bem formada ou não seja aprovada na validação de esquema, um pop-up avisará sobre um erro. Se você executar a consulta, o erro será retornado no painel de resposta.
Uma resposta do GraphQL contém várias chaves: um hash data
e uma matriz errors
.
{
"data": null,
"errors": [
{
"message": "Objects must have selections (field 'nodes' returns Repository but has no selections)",
"locations": [
{
"line": 5,
"column": 8
}
]
}
]
}
É possível que você possa encontrar um erro inesperado que não esteja relacionado com o esquema. Se isso acontecer, a mensagem incluirá um código de referência que você poderá usar ao relatar o problema:
{
"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."
}
]
}
Observação: o GitHub recomenda verificar se há erros antes de usar dados em um ambiente de produção. No GraphQL, a falha não é total: algumas partes de consultas do GraphQL podem ser bem-sucedidas enquanto outras falham.