Développé par Facebook en 2012.
Sortie publique en 2015.
Orienté services
- Un langage de requêtes.
- Très fortement typé.
- Obtenir les ressources que l'on souhaite en une seule requête.
- Open source
Requêtes
Mutations
Souscriptions
Schemas
Introspection
Gestion des erreurs
Très rapidement...
Appel des resolvers
Affichage de la requête
Documentation
allBreaches: {
type: new GraphQLList(allBreachesType),
resolve(parent, args) {
return axios
.get('https://haveibeenpwned.com/api/v2/breaches', config)
.then(res => res.data)
}
}
Typer son modèle
type Project {
name: String
tagline: String
contributors: [User]
}
Réaliser sa requête
Résultat
{
project(name: "GraphQL") {
tagline
}
}
{
"project": {
"tagline": "A query language for APIs"
}
}
Mobile first, retour d'expérience
Gère des schémas complexes
Offre une solution d'orchestration de microservices
Rend le travail des devs plus fun et plus facile
Ne résous pas tout les problèmes de perfs
GraphQL ne remplace pas le REST
Basé sur la popularité
Ne va pas résoudre tout vos problèmes
Back-end
Front-end au choix
npm init -y
npm install --save graphql express-graphql express axios
npm install -D nodemon
Pour les plus rapides d'entre vous, vous êtes libre de faire la partie front de votre application
GraphQL With React & Apollo [1] - Express GraphQL Server
Pour les plus courageux
Vue