Introduction : Pourquoi une API REST en JavaScript est rapide et simple
Créer votre propre API REST est l'un des premiers pas vers la compréhension du développement back-end. Si vous connaissez déjà JavaScript, vous pouvez écrire la partie serveur d'une application en une demi-heure environ. Dans cet article, nous allons voir comment écrire une API REST en JavaScript en utilisant Node.js et le framework Express. Nous allons créer une API simple pour gérer une liste de tâches (To-Do List) avec le support des opérations CRUD standard : création, lecture, mise à jour et suppression de données.
Ce guide est parfait pour les débutants qui souhaitent lancer rapidement leur premier serveur et comprendre comment fonctionnent les requêtes, les routes et les middleware. À la fin de cet article, vous aurez une API fonctionnelle que vous pourrez tester dans Postman ou un navigateur.
Étape 1 : Préparation de l'environnement et installation des dépendances
Avant d'écrire du code, assurez-vous d'avoir Node.js installé (version 16 ou supérieure). Sinon, téléchargez-le depuis le site officiel. Pour vérifier, exécutez dans le terminal :
node -vnpm -vCréez maintenant un dossier pour le projet et initialisez-le :
mkdir my-apicd my-apinpm init -yInstallez la dépendance principale — le framework Express, qui simplifie considérablement le travail avec HTTP :
npm install expressInstallez également nodemon (optionnel) pour le redémarrage automatique du serveur lors des modifications du code :
npm install --save-dev nodemonAjoutez un script de démarrage dans le fichier package.json :
"scripts": { "start": "node index.js", "dev": "nodemon index.js"}Étape 2 : Création du serveur de base et de la première route
Créez un fichier index.js à la racine du projet. Commençons par importer Express et lancer le serveur sur le port 3000 :
const express = require('express');const app = express();const PORT = 3000;
// Middleware pour analyser le JSONapp.use(express.json());
// Route de testapp.get('/', (req, res) => { res.send('Bonjour le monde ! L\\'API fonctionne.');});
app.listen(PORT, () => { console.log(`Serveur démarré sur http://localhost:${PORT}`);});Lancez le serveur avec la commande npm run dev (si vous utilisez nodemon) ou node index.js. Ouvrez le navigateur et allez à l'adresse http://localhost:3000 — vous devriez voir le message "Bonjour le monde ! L'API fonctionne."
Félicitations ! Vous venez d'écrire une API REST en JavaScript. Ajoutons maintenant une vraie logique.
Étape 3 : Implémentation des opérations CRUD pour la liste de tâches
Créons un stockage de données temporaire en mémoire (un tableau d'objets). Dans un projet réel, vous connecteriez une base de données, mais pour une leçon de 30 minutes, cela suffit.
let tasks = [ { id: 1, title: 'Apprendre Express', completed: false }, { id: 2, title: 'Écrire une API', completed: true }];
let nextId = 3;Implémentons maintenant les quatre routes principales :
GET /tasks — Obtenir toutes les tâches
app.get('/tasks', (req, res) => { res.json(tasks);});POST /tasks — Créer une nouvelle tâche
app.post('/tasks', (req, res) => { const { title } = req.body; if (!title) { return res.status(400).json({ error: 'Le titre de la tâche est obligatoire' }); } const newTask = { id: nextId++, title, completed: false }; tasks.push(newTask); res.status(201).json(newTask);});PUT /tasks/:id — Mettre à jour une tâche
app.put('/tasks/:id', (req, res) => { const id = parseInt(req.params.id); const { title, completed } = req.body; const task = tasks.find(t => t.id === id); if (!task) { return res.status(404).json({ error: 'Tâche non trouvée' }); } if (title !== undefined) task.title = title; if (completed !== undefined) task.compl