GraphQL pour le fun

Pourquoi graphQL c’est l’avenir :

  1. allez sur https://graphiql-online.com/
  2. entrez le endpoint suivant : https://hasura-manu.herokuapp.com/v1/graphql
  3. attendez un petit peu que la machine démarre c’est du serverless
  4. explorez la docs sur la droite ou ouvrez l’explorer sur la gauche

:boom: Sur la même API :

  1. :moneybag: La june en GVA de dunitrust en cours par @elois
{
  block(number: 0) {
    issuer
    issuerName
  }
  node {
    summary {
      software
      version
    }
  }
}
  • :writing_hand: L’api du site wikijs
{
  pages {
    list {
      title
    }
  }
}
  • :orangutan: L’api des Pokemons
{
  pokemons(first: 10) {
    name
  }
}
  • :earth_americas: Et ma base de donnée en postgresQL/graphQL avec hasura.io sur heroku en 1 clic gratuit à l’arrache. En fait c’est hasura qui merge toutes ces api…
{
  user {
    firstname
  }
}

Bon c’est à l’arrache, faudrait mieux présenter tout ça. Mais ce qui est intéressant, c’est qu’on peux avoir sa propre base de données User qui contient une colonne de clé publique G1 et merger les résultats des apis en une seule requête (faut configurer tout le truc, la requête suivante ne marche pas mais serait possible) :

{
  user {
    username           <- sa propre bdd
    pubkey             <- sa propre bdd
    transactions {     <- api de la june. Transactions de mon user identifié par la pubkey
     hash
     comment
     amount
    }
  }
}

Hasura permet de faire ça en configurant des relationships entre api…
GraphQL c’est magique :slight_smile:

2 J'aimes

Ah ah ! Tu enfonces une porte ouverte : l’API GVA qui remplacera BMA est en GraphQL !
Avec Duniter, le futur c’est maintenant ! :sunglasses:

1 J'aime