Apprendre GraphQL

Book description

Cet ouvrage a été traduit à l'aide de l'IA. Tes réactions et tes commentaires sont les bienvenus : translation-feedback@oreilly.com

Pourquoi GraphQL est-elle la technologie la plus innovante pour récupérer des données depuis Ajax ? En fournissant un langage de requête pour tes API et un moteur d'exécution pour remplir des requêtes avec tes données, GraphQL présente une alternative claire à REST et aux architectures de services web ad hoc. Avec ce guide pratique, Alex Banks et Eve Porcello proposent un parcours d'apprentissage clair pour les développeurs web frontaux, les ingénieurs backend et les chefs de projet et de produit qui cherchent à se lancer dans GraphQL.

Tu exploreras la théorie des graphes, la structure de données des graphes et les types GraphQL avant d'apprendre à construire un schéma pour une application de partage de photos. Ce livre te présente également Apollo Client, un cadre populaire que tu peux utiliser pour connecter GraphQL à ton interface utilisateur.

  • Explore la théorie des graphes et passe en revue les exemples de graphes populaires utilisés aujourd'hui.
  • Apprends comment GraphQL applique les méthodes d'interrogation des bases de données à Internet.
  • Créer un schéma pour une application PhotoShare qui sert de feuille de route et de contrat entre les équipes frontales et dorsales.
  • Utiliser JavaScript pour construire un service GraphQL entièrement fonctionnel et Apollo pour mettre en œuvre un client.
  • Apprendre à préparer les API et les clients GraphQL pour la production

Table of contents

  1. Préface
    1. Remerciements
    2. Conventions utilisées dans ce livre
    3. Utiliser des exemples de code
    4. O'Reilly Safari
    5. Comment nous contacter
  2. 1. Bienvenue à GraphQL
    1. Qu'est-ce que GraphQL ?
      1. La spécification GraphQL
      2. Principes de conception de GraphQL
    2. Origine de GraphQL
    3. Histoire du transport de données
      1. Appel de procédure à distance
      2. Protocole d'accès simple aux objets
      3. REST
    4. Inconvénients de REST
      1. Surenchère
      2. Sous-facturation
      3. Gérer les points de terminaison REST
    5. GraphQL dans le monde réel
      1. Clients GraphQL
  3. 2. Théorie des graphes
    1. Vocabulaire de la théorie des graphes
    2. Histoire de la théorie des graphes
    3. Les arbres sont des graphes
    4. Les graphiques dans le monde réel
  4. 3. Le langage de requête GraphQL
    1. Outils de l'API GraphQL
      1. GraphiQL
      2. Terrain de jeu GraphQL
      3. API publiques GraphQL
    2. La requête GraphQL
      1. Arêtes et connexions
      2. Fragments
    3. Mutations
      1. Utilisation des variables de requête
    4. Abonnements
    5. Introspection
    6. Arbres syntaxiques abstraits
  5. 4. Conception d'un schéma
    1. Définir les types
      1. Types
      2. Types de scalaires
      3. Enums
    2. Connexions et listes
      1. Connexions individuelles
      2. Connexions d'un à plusieurs
      3. Connexions multiples
      4. Listes de différents types
    3. Arguments
      1. Filtrage des données
    4. Mutations
    5. Types d'entrées
    6. Types de retour
    7. Abonnements
    8. Documentation sur les schémas
  6. 5. Création d'une API GraphQL
    1. Configuration du projet
    2. Résolveurs
      1. Résolveurs de racines
      2. Résolveurs de type
      3. Utilisation des entrées et des Enums
      4. Arêtes et connexions
      5. Cicatrices personnalisées
    3. apollo-server-express
    4. Contexte
      1. Installation de Mongo
      2. Ajouter une base de données au contexte
    5. Autorisation GitHub
      1. Configuration de GitHub OAuth
      2. Le processus d'autorisation
      3. githubAuth Mutation
      4. Authentification des utilisateurs
    6. Conclusion
  7. 6. Clients GraphQL
    1. Utiliser une API GraphQL
      1. Récupérer les demandes
      2. graphql-request
    2. Client Apollo
    3. Client Apollo avec React
      1. Configuration du projet
      2. Configurer le client Apollo
      3. Le composant de requête
      4. Le composant de mutation
    4. Autorisation
      1. Autoriser l'utilisateur
      2. Identifier l'utilisateur
    5. Travailler avec le cache
      1. Recherche de politiques
      2. Persistance du cache
      3. Mise à jour du cache
  8. 7. GraphQL dans le monde réel
    1. Abonnements
      1. Travailler avec les abonnements
      2. Consommer des abonnements
    2. Téléchargement de fichiers
      1. Gestion des téléchargements sur le serveur
      2. Poster une nouvelle photo avec Apollo Client
    3. Sécurité
      1. Délais de requête
      2. Limites des données
      3. Limiter la profondeur de la requête
      4. Limiter la complexité des requêtes
      5. Moteur Apollo
    4. Franchir les prochaines étapes
      1. Migration incrémentielle
      2. Développement Schema-First
      3. Événements GraphQL
      4. Communauté
      5. Canaux Slack de la communauté
  9. Index

Product information

  • Title: Apprendre GraphQL
  • Author(s): Eve Porcello, Alex Banks
  • Release date: November 2024
  • Publisher(s): O'Reilly Media, Inc.
  • ISBN: 9798341610064