Skip to main content

Status 200 - OK

O GraphQL não retorna códigos de status da mesma forma que as APIs REST. Por exemplo, o GraphQL pode retornar um 200 OK nos casos em que uma API REST retornaria um código de status 5xx ou 4xx. Devido a esse fato, o GraphQL pode retornar um 200 OK mesmo quando uma ação no nível do aplicativo falha.

Tratamento de Erros

Para verificar se há erros, você precisa verificar o objeto ‘errors’ na resposta, que contém informações adicionais sobre o que causou o problema. Algumas queries também têm um booleano “Sucesso” como campo de retorno, que retornará verdadeiro ou falso, dependendo do sucesso ou falha da ação. Para verificar os campos de retorno de todas as mutações e consultas, verifique nossa documentação da API.

4XX and 5XX Status Codes

Conforme mencionado acima, na maioria dos casos, o GraphQL retornará uma resposta 200 OK quando uma API REST retornaria um código de status 4xx ou 5xx. Mas em alguns casos específicos, um código de status 4xx ou 5xx pode ser retornado. Veja abaixo esses casos e uma explicação deles.

Cenários de Erros

Método não permitido

Fazer uma request utilizando o método GET na rota do /v1/graphql, onde só é permitido o método POST. ROTA: /v1/graphql

Request sem header

Fazer uma request sem o Header preenchido. ROTA: /v1/graphql

Request sem Body ou JSON null

Fazer uma request sem o Body preenchido. ROTA: /v1/graphql

Request com GraphQL Query vazio

Fazer uma request com o JSON não válido ou nulo. ROTA: /v1/graphql

Query incorreto ou inexistente

Fazer uma request com o nome da Query incorreto ou inexistente. ROTA: /v1/graphql

Query com alguma sintaxe errada

Fazer uma request com alguma sintaxe errada, seja falta de fechar um parêntese ou colchete. ROTA: /v1/graphql

Query sem os campos (fields)

Fazer uma request sem os campos (fields) no Body. ROTA: /v1/graphql

Query com campo (field) incorreto

Fazer uma request sem os campos (fields) no Body. ROTA: /v1/graphql

Query com campo (field) inexistente

Fazer uma request com algum campo (field) inexistente. ROTA: /v1/graphql