Back

Comment utiliser Axios dans Node.js (avec des exemples de code)

Comment utiliser Axios dans Node.js (avec des exemples de code)

Axios est un client HTTP basé sur les promesses qui simplifie les requêtes HTTP dans Node.js. Il rationalise des tâches telles que l’envoi de requêtes GET et POST, la gestion des réponses et la gestion des erreurs. Dans ce guide, nous explorerons comment utiliser Axios dans Node.js avec des exemples de code pratiques.

Points clés à retenir

  • Axios fournit une API simple pour effectuer des requêtes HTTP dans Node.js.
  • Il utilise les promesses pour un code asynchrone plus propre.
  • Il offre des mécanismes simples pour gérer divers scénarios d’erreur.

Configuration d’Axios dans Node.js

Pour commencer avec Axios dans votre projet Node.js :

  1. Initialisez votre projet (si vous ne l’avez pas déjà fait) :

    npm init -y
    
  2. Installez Axios :

    npm install axios
    
  3. Importez Axios dans votre application :

    const axios = require('axios');
    

Effectuer des requêtes GET

Une requête GET récupère des données à partir d’un point de terminaison spécifié. Voici comment effectuer une requête GET à l’aide d’Axios :

const axios = require('axios');

async function fetchData() {
  try {
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
    console.log(response.data);
  } catch (error) {
    console.error('Erreur lors de la récupération des données :', error);
  }
}

fetchData();

Explication :

  • Définit une fonction asynchrone fetchData.
  • Utilise await pour effectuer une requête GET Axios.
  • Enregistre les données de réponse dans la console.
  • Gère les erreurs à l’aide de try...catch.

Effectuer des requêtes POST

Une requête POST envoie des données à un serveur pour créer une nouvelle ressource. Voici comment effectuer une requête POST :

const axios = require('axios');

async function createPost() {
  try {
    const response = await axios.post('https://jsonplaceholder.typicode.com/posts', {
      title: 'Nouveau post',
      body: 'Ceci est le contenu du nouveau post.',
      userId: 1,
    });
    console.log('Post créé :', response.data);
  } catch (error) {
    console.error('Erreur lors de la création du post :', error);
  }
}

createPost();

Explication :

  • Définit une fonction asynchrone createPost.
  • Utilise await avec axios.post(), en passant le point de terminaison et l’objet de données.
  • Enregistre le post nouvellement créé.
  • Gère correctement les erreurs.

Gestion des réponses et des erreurs

Axios fournit un moyen structuré de gérer les réponses et les erreurs. L’objet de réponse comprend des propriétés telles que data, status et headers.

Voici comment gérer différents types d’erreurs :

const axios = require('axios');

async function fetchData() {
  try {
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
    console.log('Données :', response.data);
    console.log('Statut :', response.status);
  } catch (error) {
    if (error.response) {
      // Le serveur a répondu avec un code de statut en dehors de 2xx
      console.error('Données d'erreur :', error.response.data);
      console.error('Statut d'erreur :', error.response.status);
    } else if (error.request) {
      // Aucune réponse reçue
      console.error('Aucune réponse reçue :', error.request);
    } else {
      // Erreur lors de la configuration de la requête
      console.error('Erreur :', error.message);
    }
  }
}

fetchData();

Explication :

  • Enregistre les données de réponse et le statut en cas de succès.
  • Différencie entre :
    • Les erreurs avec des réponses (error.response)
    • Les erreurs sans réponse (error.request)
    • Les autres erreurs liées à Axios (error.message)

FAQ

Oui, Axios est isomorphe et peut s'exécuter dans les deux environnements.

Axios transforme automatiquement les données JSON pour les requêtes et les réponses, éliminant ainsi le besoin d'analyse manuelle.

Oui, vous pouvez définir des en-têtes personnalisés en passant un objet `headers` dans la configuration de la requête.

Conclusion

Axios simplifie les requêtes HTTP dans Node.js, offrant une API propre et concise. Sa prise en charge des promesses permet une gestion efficace des opérations asynchrones. En comprenant comment effectuer des requêtes GET et POST et gérer les réponses et les erreurs, vous pouvez intégrer efficacement Axios dans vos applications Node.js.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers