Axios — client HTTP pour JavaScript (Node.js)

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Qu'est-ce qu'Axios ?

Axios est un client HTTP populaire pour JavaScript, fonctionnant à la fois dans le navigateur et dans l'environnement Node.js. Il est basé sur les promesses (Promise) et fournit une API pratique pour effectuer des requêtes HTTP. La bibliothèque gère automatiquement le JSON, prend en charge les intercepteurs (interceptors), l'annulation de requêtes et la protection contre CSRF.

Pourquoi utiliser Axios ?

Contrairement au fetch natif, Axios offre des fonctionnalités plus riches « prêtes à l'emploi » : transformation automatique des données, barres de progression pour le téléchargement, délais d'attente, tentatives répétées et compatibilité avec les navigateurs obsolètes. Pour les développeurs Node.js, c'est un outil indispensable pour interagir avec les API REST, les microservices et les services externes.

Installation

Installez la bibliothèque via npm ou yarn :

npm install axios

Ou pour une utilisation globale :

npm install -g axios

Fonctionnalités principales

  • Prise en charge de toutes les méthodes HTTP : GET, POST, PUT, DELETE, PATCH, etc.
  • Sérialisation/désérialisation JSON automatique.
  • Intercepteurs de requêtes et de réponses pour la journalisation, l'authentification et la gestion des erreurs.
  • Annulation de requêtes via AbortController (API moderne) ou CancelToken (obsolète).
  • Délais d'attente et tentatives répétées (via des plugins ou une configuration manuelle).
  • Téléchargement de fichiers avec progression (via onUploadProgress).

Exemple de code sur Node.js

const axios = require('axios');

async function getPost(id) { try { const response = await axios.get(`https://jsonplaceholder.typicode.com/posts/${id}`); console.log('Données :', response.data); } catch (error) { console.error('Erreur :', error.message); }}

getPost(1);

// Requête POST avec des donnéesconst newPost = { title: 'Titre', body: 'Texte du post', userId: 1,};

axios.post('https://jsonplaceholder.typicode.com/posts', newPost) .then(res => console.log('Créé :', res.data)) .catch(err => console.error('Erreur :', err));

Quand utiliser Axios

Axios est idéal pour les projets nécessitant un client HTTP fiable avec des fonctionnalités avancées : applications d'entreprise, architecture de microservices, intégration avec des API externes, ainsi que pour les cas nécessitant une rétrocompatibilité avec les anciennes versions de Node.js (jusqu'à 18.x). Si vous préférez des solutions légères, envisagez node-fetch ou le fetch natif dans Node.js 18+.

Conclusion

Axios reste la norme de facto pour les requêtes HTTP dans l'écosystème JavaScript. Grâce à sa simplicité, sa flexibilité et sa vaste communauté, cette bibliothèque convient aussi bien aux prototypes rapides qu'aux grands systèmes de production.

Recommendations