Outils du site

Est-ce que ce que tu as fait t'as donné une vie meilleure ? [American history X]

60-database:graphql

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
60-database:graphql [2019/12/24 10:27] Roge60-database:graphql [2020/01/12 10:03] (Version actuelle) Roge
Ligne 15: Ligne 15:
  
  
 +Les types d'opération :
 +  * query
 +  * mutation
 +  * subscription
  
 +===== Query =====
  
 +Requête qui ramène le résultat d'une interrogation.
 +
 +<code javascript>
 +query HeroNameAndFriends($episode: Episode = JEDI) {
 +  hero(episode: $episode) {
 +    name
 +    friends {
 +      name
 +    }
 +  }
 +}
 +</code>
 +
 +===== Mutation =====
 +
 +Opération qui mets à jour la base de données.
 +
 +<code javascript>
 +mutation CreateReviewForEpisode($ep: Episode!, $review: ReviewInput!) {
 +  createReview(episode: $ep, review: $review) {
 +    stars
 +    commentary
 +  }
 +}
 +</code>
 +
 +===== subscription =====
 +
 +<code javascript>
 +
 +</code>
 +
 +===== Directives =====
 +
 +Une directive permet de mettre une condition sur un champ de la requête :
 +
 +  * @include(if: Boolean) Only include this field in the result if the argument is true.
 +  * @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é
 +
 +
 +===== Références =====
 +
 +[[https://blog.logrocket.com/5-reasons-you-shouldnt-be-using-graphql-61c7846e7ed3/| 5 reasons you shouldn’t be using GraphQ]]
 +
 +[[https://github.com/Novvum/36-graphql-concepts/blob/master/README.md| 36 Concepts Every GraphQL Developer Should Know]]
Dernière modification : 2019/12/24 10:27