yostane / cours-archi-logicielle

Cours d'Architecture Logicielle
https://yostane.github.io/cours-archi-logicielle/
Other
3 stars 0 forks source link

GraphQL - Integrate it to docs #15

Closed TomBPro closed 2 months ago

TomBPro commented 2 months ago

Add this documentation to the existing one.

GraphQL

Alternative au APIs REST et approche moderne de livraison des données.

Kesako ?

GraphQL est un langage de requête pour votre API et un environnement d'exécution de requêtes côté serveur pour exécuter ces requêtes en utilisant les données existantes. GraphQL décrit les données de l'API et fourni un moyen d'accès à ces données. Il suffit de piocher ce dont vous avez besoin.

Pourquoi GraphQL ?

Pourquoi ne pas l'utiliser ?

Comment ça marche ?

GraphQL est composé de 5 parties principales :

  1. Queries (requêtes) : Les requêtes GraphQL sont utilisées pour demander des données spécifiques au serveur. Elles permettent aux clients de spécifier exactement quelles données ils ont besoin, et le serveur renvoie uniquement ces données.

  2. Mutations (mutations) : Les mutations sont utilisées pour modifier les données du serveur. Contrairement aux requêtes, qui sont utilisées pour la lecture de données, les mutations permettent d'effectuer des opérations telles que la création, la mise à jour ou la suppression de données.

  3. Types (types) : GraphQL définit un système de types pour décrire la structure des données disponibles. Les types sont utilisés pour spécifier quels champs peuvent être demandés sur un objet et quels types de données ils contiennent.

  4. Schemas (schémas) : Un schéma GraphQL est une description de tous les types de données disponibles dans l'API, ainsi que des relations entre ces types. Il définit quels types de requêtes et de mutations peuvent être exécutés.

  5. Resolvers (résolveurs) : Les résolveurs sont des fonctions qui définissent comment les données doivent être récupérées ou modifiées pour chaque champ d'un type dans le schéma. Chaque champ d'un type peut avoir son propre résolveur, ce qui permet une grande flexibilité dans la façon dont les données sont obtenues ou manipulées.

Démonstration du fonctionnement - GraphQL

Exemple

Voici un exemple de requête GraphQL :

query {
  user(id: 1) {
    id
    name
    email
  }
}

Experimenter

Diriger vous vers l'API GraphQL d'Atlassian