GraphQL

  • Mise à jour le 25 septembre 2024
  • 1 min. à lire

GraphQL est un langage de requête et un runtime pour les API, développé par Facebook en 2012 et rendu open-source en 2015. Il offre une approche plus efficace et flexible que REST pour interroger et manipuler des données.

Avec GraphQL, les clients peuvent demander exactement les données dont ils ont besoin, ni plus ni moins. Cette spécificité permet d'éviter le sur-fetching (récupération de données superflues) et le sous-fetching (nécessité de faire plusieurs requêtes pour obtenir toutes les données nécessaires), problèmes courants avec les API REST.

Un exemple de requête GraphQL pourrait ressembler à ceci :

query {
  user(id: "123") {
    name
    email
    posts {
      title
      comments {
        content
      }
    }
  }
}

Cette requête récupère le nom et l'email d'un utilisateur, ainsi que les titres de ses posts et le contenu des commentaires associés, le tout en une seule requête.

GraphQL utilise un système de types fort pour décrire les données disponibles. Ce schéma sert de contrat entre le client et le serveur, facilitant la documentation et permettant des outils de développement plus puissants.

Bien que principalement utilisé pour les API web, GraphQL peut être implémenté dans divers langages de programmation et environnements. Il est particulièrement apprécié dans le développement d'applications mobiles et de single-page applications (SPA) où l'efficacité des requêtes est cruciale.

tracking-thumb