N.NOTKOKO // HACK
COURS 10 / 18

Comprendre les requêtes GraphQL

Lire une requête structurée, demander les champs utiles et interpréter les erreurs.

GraphQLSchémaVariables
01 // COMPRENDRE

Une sélection de champs

GraphQL permet au client de décrire les champs souhaités selon un schéma. Une query exprime une lecture ; une mutation une opération de modification prévue par l’API. Le schéma définit les types, champs et arguments disponibles. Les noms ci-dessous appartiennent à un exemple inventé : ils ne sont pas universels.

EXEMPLE PÉDAGOGIQUE
query Livre($id: ID!) {
  book(id: $id) {
    title
    author { name }
  }
}

Variables : {"id":"18"}
Comment le lire

Livre nomme l’opération. $id est une variable ; ID! impose une valeur non nulle de ce type. La sélection demande le titre et le nom de l’auteur. La réponse suit cette structure sous data.

02 // COMPRENDRE

Envoyer et comprendre la réponse

Dans une API GraphQL sur HTTP, le corps JSON peut contenir query, variables et operationName. Observe d’abord une requête normale de l’application. Une réponse HTTP 200 peut comporter errors et parfois des données partielles. Une erreur de champ inconnu indique un problème de schéma ; une erreur d’autorisation concerne les droits. Ne mélange pas ces deux diagnostics.

03 // COMPRENDRE

Schéma et contrôle d’accès

L’introspection décrit le schéma lorsqu’elle est activée et autorisée ; elle ne donne pas automatiquement accès aux données. Chaque résolveur doit appliquer les permissions appropriées, y compris dans les objets imbriqués. Demander un champ dans une query n’implique pas que le serveur doive l’accorder. Limite ta sélection à ce qui répond à ta question pour rendre la comparaison lisible.

04 // À TOI DE RÉFLÉCHIR

Vérifie que tu as compris.

3 questions pour mettre les idées en pratique. Réponds avec tes mots, puis vérifie chaque réponse.

La correction repère les notions attendues et certaines formulations proches. Elle reste indicative : lis aussi l’explication. Tes réponses restent dans cette page et ne sont pas enregistrées.

QUESTION 1 / 3

Une réponse courte et expliquée suffit.0 / 1200

À toi de répondre

Corrigé détaillé — question 1

Une query décrit une lecture. Une mutation exprime une opération de modification définie dans le schéma. Les noms des champs et les permissions restent propres à l’API.

Exemple de réponse

query lit les données, mutation les modifie.

QUESTION 2 / 3

Une réponse courte et expliquée suffit.0 / 1200

À toi de répondre

Corrigé détaillé — question 2

Non dans cette réponse. Le transport a abouti, mais errors annonce un refus et le champ vaut null. Il faut lire ensemble le statut, data et errors.

Exemple de réponse

Non, l’erreur Forbidden indique un refus applicatif.

QUESTION 3 / 3

Une réponse courte et expliquée suffit.0 / 1200

À toi de répondre

Corrigé détaillé — question 3

Le schéma décrit les types, champs et arguments que l’API comprend. Il permet de construire une requête valide, mais ne remplace pas la vérification des droits sur les données.

Exemple de réponse

Il décrit les types, champs et arguments disponibles.

05 // À RETENIR

La structure de la réponse compte autant que le statut HTTP.