Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
60-database:graphql [2020/01/10 01:05] – [Références] Roge | 60-database:graphql [2020/01/12 10:03] (Version actuelle) – Roge | ||
---|---|---|---|
Ligne 14: | Ligne 14: | ||
[[https:// | [[https:// | ||
+ | |||
+ | Les types d' | ||
+ | * query | ||
+ | * mutation | ||
+ | * subscription | ||
+ | |||
+ | ===== Query ===== | ||
+ | |||
+ | Requête qui ramène le résultat d'une interrogation. | ||
+ | |||
+ | <code javascript> | ||
+ | query HeroNameAndFriends($episode: | ||
+ | hero(episode: | ||
+ | name | ||
+ | friends { | ||
+ | name | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Mutation ===== | ||
+ | |||
+ | Opération qui mets à jour la base de données. | ||
+ | |||
+ | <code javascript> | ||
+ | mutation CreateReviewForEpisode($ep: | ||
+ | createReview(episode: | ||
+ | stars | ||
+ | commentary | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== subscription ===== | ||
+ | |||
+ | <code javascript> | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Directives ===== | ||
+ | |||
+ | Une directive permet de mettre une condition sur un champ de la requête : | ||
+ | |||
+ | * @include(if: | ||
+ | * @skip(if: Boolean) Skip this field if the argument is true. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== proposition de regles ===== | ||
+ | |||
+ | Chaque opération doit être nommée, ne pas utiliser les raccourcis pour écrire des requêtes sans nom. --> faciliter le débuggage | ||
+ | |||
+ | Utiliser systématiquement des $variables dans les opérations (aucune valeur statique dans les requetes). --> Réutilisabilité | ||