Créer des API avec Node.js, Express et Axios : Un guide complet

Apprenez à créer et consommer des API avec Node.js, Express et Axios. Guide complet : gestion erreurs, headers, tests APIdog.

Louis Dupont

Louis Dupont

5 June 2025

Créer des API avec Node.js, Express et Axios : Un guide complet

Salut les développeurs ! Aujourd'hui, nous allons plonger au cœur de la création d'API en utilisant Node.js, Express et Axios. Que vous soyez un programmeur chevronné ou débutant, cet article vous guidera dans la création d'API robustes et efficaces. De plus, je vais vous présenter un outil incroyable, Apidog, qui simplifiera votre processus de test et de documentation d'API.

💡
Prêt à faire passer le développement de vos API au niveau supérieur ? Téléchargez Apidog gratuitement et commencez à tester et à documenter vos API sans effort dès aujourd'hui !
button

Introduction

Les API (Interfaces de Programmation d'Applications) sont devenues l'épine dorsale des applications web modernes. Elles permettent à différents systèmes logiciels de communiquer et de partager des données de manière transparente. Que vous développiez une application web, une application mobile ou même une application de bureau, les API sont essentielles.

Pourquoi Node.js, Express et Axios ?

Node.js, Express et Axios forment un trio dynamique pour la création et la consommation d'API. Voici pourquoi :

En combinant ces trois outils puissants, vous pouvez créer des API efficaces, évolutives et faciles à maintenir.

Configuration de votre environnement

Avant de plonger dans le code, configurons notre environnement. Vous aurez besoin de Node.js et de npm (Node Package Manager) installés sur votre machine.

  1. Installer Node.js et npm : Rendez-vous sur le site web de Node.js et téléchargez la dernière version. npm est fourni avec Node.js.
  2. Initialiser un nouveau projet : Ouvrez votre terminal et exécutez :
mkdir nodejs-express-axios-api
cd nodejs-express-axios-api
npm init -y

Cela créera un nouveau répertoire et initialisera un nouveau projet Node.js avec un fichier package.json par défaut.

  1. Installer Express et Axios :
npm install express axios

Création de votre première API avec Node.js et Express

Maintenant que notre environnement est configuré, créons une API simple.

Configuration d'Express

Tout d'abord, nous devons configurer notre serveur Express. Créez un fichier nommé server.js et ajoutez le code suivant :

const express = require('express');
const app = express();
const PORT = 3000;

// Middleware to parse JSON
app.use(express.json());

// Start the server
app.listen(PORT, () => {
    console.log(`Server is running on http://localhost:${PORT}`);
});

Définition des points de terminaison API

Ensuite, définissons quelques points de terminaison API. Nous allons créer des points de terminaison pour une application CRUD simple qui gère une liste de livres.

  1. Créer un livre : Ce point de terminaison permettra aux utilisateurs d'ajouter un nouveau livre à la liste.
  2. Lire les livres : Ce point de terminaison renverra la liste de tous les livres.
  3. Mettre à jour un livre : Ce point de terminaison permettra aux utilisateurs de mettre à jour les détails d'un livre existant.
  4. Supprimer un livre : Ce point de terminaison permettra aux utilisateurs de supprimer un livre de la liste.

Ajoutez le code suivant à server.js :

let books = [];

// Create a Book
app.post('/books', (req, res) => {
    const book = req.body;
    books.push(book);
    res.status(201).send('Book added successfully');
});

// Read Books
app.get('/books', (req, res) => {
    res.json(books);
});

// Update a Book
app.put('/books/:id', (req, res) => {
    const bookId = req.params.id;
    const updatedBook = req.body;
    books = books.map(book => book.id === bookId ? updatedBook : book);
    res.send('Book updated successfully');
});

// Delete a Book
app.delete('/books/:id', (req, res) => {
    const bookId = req.params.id;
    books = books.filter(book => book.id !== bookId);
    res.send('Book deleted successfully');
});

Exécution de votre API

Pour exécuter votre API, utilisez simplement la commande suivante dans votre terminal :

node server.js

Vous devriez voir le message : Server is running on http://localhost:3000.

Consommation d'API avec Axios

Maintenant que notre API est opérationnelle, apprenons à la consommer en utilisant Axios.

Effectuer des requêtes HTTP avec Axios

Axios facilite l'envoi de requêtes HTTP asynchrones aux points de terminaison REST et l'exécution d'opérations CRUD. Nous allons démontrer comment effectuer chaque opération (Créer, Lire, Mettre à jour, Supprimer) en utilisant Axios.

Tout d'abord, installez Axios dans votre projet si vous ne l'avez pas déjà fait :

npm install axios

Exemple : Utilisation d'Axios pour interagir avec notre API de livres

Créez un nouveau fichier nommé client.js et ajoutez le code suivant :

const axios = require('axios');
const API_URL = 'http://localhost:3000/books';

// Create a new book
const createBook = async (book) => {
    try {
        const response = await axios.post(API_URL, book);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Read all books
const getBooks = async () => {
    try {
        const response = await axios.get(API_URL);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Update a book
const updateBook = async (bookId, updatedBook) => {
    try {
        const response = await axios.put(`${API_URL}/${bookId}`, updatedBook);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Delete a book
const deleteBook = async (bookId) => {
    try {
        const response = await axios.delete(`${API_URL}/${bookId}`);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Usage examples
const newBook = { id: '1', title: 'Node.js for Beginners', author: 'John Doe' };
createBook(newBook);
getBooks();
updateBook('1', { id: '1', title: 'Advanced Node.js', author: 'John Doe' });
deleteBook('1');

Explication

  1. createBook : Envoie une requête POST pour ajouter un nouveau livre.
  2. getBooks : Envoie une requête GET pour récupérer tous les livres.
  3. updateBook : Envoie une requête PUT pour mettre à jour un livre existant.
  4. deleteBook : Envoie une requête DELETE pour supprimer un livre.

Utilisation avancée d'Axios et gestion des erreurs

La gestion des erreurs est cruciale lors de l'utilisation de requêtes HTTP. Axios offre plusieurs façons de gérer efficacement les erreurs.

Gestion des erreurs

Modifiez le fichier client.js pour gérer les erreurs de manière plus élégante :

const axios = require('axios');
const API_URL = 'http://localhost:3000/books';

// Create a new book
const createBook = async (book) => {
    try {
        const response = await axios.post(API_URL, book);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Read all books
const getBooks = async () => {
    try {
        const response = await axios.get(API_URL);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Update a book
const updateBook = async (bookId, updatedBook) => {
    try {
        const response = await axios.put(`${API_URL}/${bookId}`, updatedBook);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Delete a book
const deleteBook = async (bookId) => {
    try {
        const response = await axios.delete(`${API_URL}/${bookId}`);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Error handling function
const handleError = (error) => {
    if (error.response) {
        // The request was made and the server responded with a status code
        console.error('Error:', error.response.data);
        console.error('Status:', error.response.status);
        console.error('Headers:', error.response.headers);
    } else if (error.request) {
        // The request was made but no response was received
        console.error('Error: No response received', error.request);
    } else {
        // Something happened in setting up the request
        console.error('Error:', error.message);
    }
};

Définition d'en-têtes personnalisés et d'intercepteurs

Axios vous permet de définir des en-têtes personnalisés et d'intercepter les requêtes ou les réponses. Cela peut être utile pour ajouter des jetons d'authentification ou pour la journalisation.

const axios = require('axios');
const API_URL = 'http://localhost:3000/books';

// Axios instance with custom headers
const axiosInstance = axios.create({
    baseURL: API_URL,
    headers: { 'Authorization': 'Bearer YOUR_TOKEN_HERE' }
});

// Request interceptor
axiosInstance.interceptors.request.use(config => {
    console.log('Request sent at:', new Date().toISOString());
    return config;
}, error => {
    return Promise.reject(error);
});

// Response interceptor
axiosInstance.interceptors.response.use(response => {
    console.log('Response received at:', new Date().toISOString());
    return response;
}, error => {
    return Promise.reject(error);
});

// Example usage with interceptors
const getBooks = async () => {
    try {
        const response = await axiosInstance.get('/');
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

getBooks

();

Tester et documenter votre API avec APIdog

Tester et documenter vos API est crucial pour s'assurer qu'elles fonctionnent comme prévu et qu'elles sont faciles à utiliser pour les autres développeurs. C'est là qu'APIdog entre en jeu.

Qu'est-ce qu'Apidog ?

APIdog est un outil puissant qui vous aide à tester et à documenter vos API sans effort. Avec APIdog, vous pouvez créer une documentation API complète, effectuer des tests automatisés et partager vos API avec votre équipe.

Tester l'API avec Apidog

Passons en revue un bref tutoriel sur la façon d'utiliser Apidog pour effectuer une requête [post].

button

Étape 1 : Ouvrez Apidog et créez une nouvelle requête.

Apidog

Étape 2 : Entrez l'API

Apidog

Étape 3 : Entrez les paramètres

Apidog

L'utilisation d'Apidog peut vous faire gagner du temps et des efforts lorsque vous travaillez avec des requêtes POST.

Documenter notre API avec Apidog

Pour générer facilement une documentation API, suivez simplement ces guides étape par étape :

Étape 1 : Inscrivez-vous à Apidog

Pour commencer à utiliser Apidog pour la documentation de l'API, créez un compte et connectez-vous. Après vous être connecté, vous serez redirigé vers le Centre de projets, où vous pourrez sélectionner le projet par défaut ou en créer un nouveau.

Ceci est le centre de projet vers lequel vous serez redirigé après vous être connecté à Apidog.

Étape 2 : Créez une nouvelle API

Votre projet d'API se composera de plusieurs points de terminaison. Ajoutez un point de terminaison en cliquant sur le bouton « + » ou « Ajouter un point de terminaison » dans votre projet.

Créez un nouveau point de terminaison sur Apidog

Étape 3 : Remplissez les informations de l'API

Fournissez des détails tels que l'URL du point de terminaison, la description et les spécificités de la requête/réponse. La documentation des points de terminaison comprend :

Étape 4 : Enregistrez la documentation de l'API

Après avoir saisi les informations nécessaires, cliquez sur « Enregistrer » pour enregistrer la documentation de l'API.

Cliquer sur "Exécuter" pour tester l'API.
Cliquez sur "Exécuter" pour tester l'API

Étape 5 : Testez l'API directement à partir du document API en ligne

Une fois que vous avez enregistré la documentation de l'API, il y aura une option pour « Exécuter » votre API. Cliquer sur le bouton « Exécuter » enverra une requête API et récupérera la réponse pour que vous puissiez tester les points de terminaison. Au cours de ce processus, vous pouvez identifier les erreurs et les problèmes qui doivent être résolus.

Cliquer sur "Envoyer" pour envoyer la requête API et obtenir le rapport de test

Une fois que la documentation de l'API répond aux besoins de l'entreprise, vous pouvez la partager avec d'autres via un seul lien.

Avantages de la génération de documentation API en ligne à l'aide d'Apidog

Vous pouvez envoyer une requête API directement sur la documentation créée par Apidog
Vous pouvez générer du code de requête et de réponse dans le document en ligne créé par Apidog

Conclusion

Félicitations ! Vous avez réussi à créer une API robuste en utilisant Node.js, Express et Axios. Vous avez également appris à consommer des API avec Axios, à gérer efficacement les erreurs et à améliorer vos tests et votre documentation API avec APIdog.

Les API sont l'épine dorsale du développement web moderne, et la maîtrise de ces outils vous mettra sur la voie de la création d'applications puissantes et évolutives. N'oubliez pas de télécharger APIdog gratuitement pour rationaliser votre processus de développement et de test d'API.

button

Explore more

Comment utiliser Deepseek R1 en local avec Cursor

Comment utiliser Deepseek R1 en local avec Cursor

Apprenez à configurer DeepSeek R1 local avec Cursor IDE pour une aide au codage IA privée et économique.

4 June 2025

Comment exécuter Gemma 3n sur Android ?

Comment exécuter Gemma 3n sur Android ?

Apprenez à installer et exécuter Gemma 3n sur Android via Google AI Edge Gallery.

3 June 2025

Comment utiliser Claude Code avec GitHub Actions

Comment utiliser Claude Code avec GitHub Actions

Découvrez Claude Code avec GitHub Actions : revues de code, corrections de bugs, implémentation de fonctionnalités. Tutoriel pour développeurs.

29 May 2025

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API