Créer une API REST avec Node.js et Express (Architecture Pro)
Apprenez à concevoir une API RESTful propre, rapide et modulaire avec le framework le plus populaire de l'écosystème JavaScript.
Explications & Fondations Techniques
Express simplifie la gestion du routage HTTP (GET, POST, PUT, DELETE) et la manipulation des requêtes et réponses JSON.
Les middlewares sont des fonctions ayant accès aux objets `req` et `res` : ils interviennent en pipeline pour l'authentification, le logging ou le parsing.
Respecter les codes de statut HTTP standards (200 OK, 201 Created, 400 Bad Request, 404 Not Found, 500 Server Error) est indispensable pour une API professionnelle.
Exemple de Code Pratique
Exécuter dans le Playgroundconst express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;
// Middleware pour parser les corps JSON
app.use(express.json());
// Base de données simulée en mémoire
let exercices = [
{ id: 1, titre: "Boucles Python", langage: "python" },
{ id: 2, titre: "Promesses JS", langage: "javascript" }
];
// GET /api/exercices - Liste complète
app.get('/api/exercices', (req, res) => {
res.json({ success: true, count: exercices.length, data: exercices });
});
// POST /api/exercices - Création
app.post('/api/exercices', (req, res) => {
const { titre, langage } = req.body;
if (!titre || !langage) {
return res.status(400).json({ error: "Le titre et le langage sont obligatoires." });
}
const nouvelExercice = { id: Date.now(), titre, langage };
exercices.push(nouvelExercice);
res.status(201).json({ success: true, data: nouvelExercice });
});
app.listen(PORT, () => {
console.log(`Serveur API Carthage en écoute sur http://localhost:${PORT}`);
});Pièges Fréquents & Mauvaises Pratiques
✗ Oublier le middleware express.json()
app.post("/api", (req, res) => {
console.log(req.body); // undefined !
});app.use(express.json());
app.post("/api", (req, res) => {
console.log(req.body);
});Sans `express.json()`, Express n'analyse pas le corps de la requête HTTP et `req.body` reste indéfini.
Questions Fréquentes
Quelle est la différence entre PUT et PATCH dans une API REST ?▾
PUT remplace l'intégralité de la ressource existante, tandis que PATCH applique une mise à jour partielle sur certains champs seulement.
Maîtrisez Node.js pas à pas
Résolvez des défis interactifs directement dans votre navigateur avec retour immédiat et indices progressifs.
