Aller au contenu principal

Erreurs

Quand une requête GraphQL échoue, la réponse contient une liste errors. Chaque erreur a un message, et souvent un extensions.code que vous pouvez tester dans votre code. La partie de data en échec vaut null.

Graphql​

Une requête sans clé d'API :

{
"errors": [
{
"message": "Context creation failed: The authorization header is missing.",
"extensions": { "code": "UNAUTHENTICATED" }
}
]
}

Certaines erreurs sont aussi accompagnées d'un statut HTTP d'erreur : celle-ci est envoyée avec 400 Bad Request. Lisez quand même le corps JSON, il indique ce qui n'a pas fonctionné.

Une requête peut aussi réussir en partie : data contient les résultats qui ont fonctionné et errors liste le reste. Vérifiez toujours errors avant d'utiliser data.

Causes fréquentes​

CauseCe qu'il faut vérifier
Pas de clé, ou une clé invalide (UNAUTHENTICATED)Le header Authorization: Bearer <key>, et que la clé appartient bien à cet environnement (Environnements)
Un champ ou un argument inconnuLe nom et le type du champ dans le schéma GraphQL. Le message suggère souvent le bon nom
Une variable utilisée mais non déclaréeDéclarez-la dans l'opération : query Name($id: ID!) { … }
Un argument manquant ou invalide dans une mutationRien n'est exécuté, et le message nomme l'argument. Vérifiez son type dans le schéma GraphQL
Une mutation qui enfreint une règle de l'APIRien n'est modifié. Le message explique la règle et extensions.code donne son nom, par exemple InvalidValueIncludingTaxFailure pour un prix qui ne correspond pas à la taxe
Pas de réponse après 30 secondes en productionLa requête est trop lourde : demandez des pages plus petites et moins de listes imbriquées (voir Environnements)
Une page de plus de 50 éléments ("fetching is limited to 50 edges")Utilisez first: 50 au maximum : voir Pagination