GraphQL est une technologie open-source de Facebook qui fournit un moyen efficace et puissant de récupérer les données nécessaires pour vos applications Web. Elle vous permet de choisir les types de données spécifiques que vous souhaitez obtenir.
Pour commencer à utiliser GraphQL avec JavaScript, voici un guide étape par étape :
1. Installer le client Apollo :
Apollo est l’un des clients GraphQL les plus populaires pour JavaScript. Pour l’installer, vous aurez besoin de npm ou de yarn.
Pour npm :
```
npm install apollo/client graphql
```
Pour yarn :
```
yarn add
apollo/client graphql
```
1. Connectez-vous à votre serveur GraphQL :
Utilisez l’URI de votre serveur GraphQL pour créer une instance d’ApolloClient.
```
import { ApolloClient, InMemoryCache } from ‘@apollo/client’;
const client = new ApolloClient({
uri: ‘https://your-graphql-server.com/graphql’,
cache: new InMemoryCache()
});
```
1. Envoyez une requête à votre serveur GraphQL :
Maintenant que vous avez une instance de ApolloClient, vous pouvez l’utiliser pour envoyer des requêtes à votre serveur GraphQL.
```
client
.query({
query: gql`
{
rates(currency: “USD”) {
currency
}
}
`
})
.then(result => console.log(result));
```
Les requêtes sont écrites en utilisant l’interface du langage de requête de GraphQL. Ici, la requête est d’obtenir toutes les devises en dollars américains.
4. Gérer les résolutions et les erreurs :
Les requêtes avec ApolloClient renvoient une promesse, ce qui facilite le traitement des résultats une fois que la requête est terminée.
```JavaScript
client
.query({
query: gql`
{
rates(currency: “USD”) {
currency
}
}
`
})
.then(result => console.log(result))
.catch(error => console.error(`Error : ${error}`));
```
Ces quatre étapes vous permettent d’intégrer rapidement GraphQL dans vos applications JavaScript avec le client Apollo. En plus de cette configuration de base, Apollo et GraphQL comportent de nombreuses autres fonctionnalités avancées que vous pouvez utiliser pour gérer vos données, notamment les requêtes complexes, les mutations (pour modifier les données sur votre serveur), la gestion optimisée du cache, et bien plus encore.