Comment écrire une API REST en JavaScript en 30 minutes : pour débutants

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

Introduction : l'API REST, c'est simple

L'API REST (Representational State Transfer) est le "langage" que différents programmes utilisent pour communiquer sur Internet. Si vous souhaitez que votre application web fournisse des données à une autre application (par exemple, un client mobile ou un frontend React), vous avez besoin d'une API. Et aujourd'hui, nous allons en écrire une en JavaScript (Node.js) à partir de zéro en seulement 30 minutes.

Nous utiliserons la bibliothèque la plus populaire — Express. Elle est simple, flexible et idéale pour les débutants. À la fin de cet article, vous aurez un serveur fonctionnel avec quatre opérations CRUD principales (création, lecture, mise à jour, suppression). C'est parti !



Étape 1 : Préparation de l'environnement et installation d'Express

Avant d'écrire du code, assurez-vous d'avoir Node.js installé. Vous pouvez le vérifier dans le terminal :

node -vnpm -v

Si les versions s'affichent — tout est prêt. Sinon, téléchargez Node.js depuis le site officiel.

Créez maintenant un dossier pour le projet et initialisez-le :

mkdir my-first-apicd my-first-apinpm init -y

Le fichier package.json est créé. Installons Express et la bibliothèque pour travailler avec UUID (pour générer des identifiants uniques) :

npm install express uuid

Prêt. Créez un fichier index.js — ce sera le fichier principal de notre serveur.



Étape 2 : Création d'un serveur simple avec Express

Ouvrez index.js et écrivez la première version du serveur :

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

// Analyse du JSON depuis le corps de la requêteapp.use(express.json());

// Route de testapp.get('/', (req, res) => { res.send('Bonjour le monde ! L\'API REST fonctionne !');});

// Démarrage du serveurapp.listen(PORT, () => { console.log(`Serveur démarré sur http://localhost:${PORT}`);});

Lancez le serveur avec la commande :

node index.js

Ouvrez le navigateur et allez à l'adresse http://localhost:3000. Si vous voyez le message de bienvenue — tout fonctionne !

Analysons le code : express.json() est un middleware qui convertit automatiquement le JSON de la requête en objet JavaScript. Cela est nécessaire pour les requêtes POST et PUT.



Étape 3 : Ajout de données et routes CRUD

Voici la partie la plus intéressante — créons un tableau de données (dans un projet réel, vous utiliseriez une base de données, mais pour l'apprentissage, un tableau convient). Ce sera une liste de livres.

const { v4: uuidv4 } = require('uuid');

// Simulation de base de donnéeslet books = [];

// Créer un livre (POST)app.post('/api/books', (req, res) => { const { title, author } = req.body; if (!title || !author) { return res.status(400).json({ error: 'Vous devez spécifier title et author' }); } const newBook = { id: uuidv4(), title, author }; books.push(newBook); res.status(201).json(newBook);});

// Obtenir tous les livres (GET)app.get('/api/books', (req, res) => { res.json(books);});

// Obtenir un livre par ID (GET)app.get('/api/books/:id', (req, res) => { const book = books.find(b => b.id === req.params.id); if (!book) { return res.status(404).json({ error: 'Livre non trouvé' }); } res.json(book);});

// Mettre à jour un livre (PUT)app.put('/api/books/:id', (req, res) => { const book = books.find(b => b.id === req.params.id); if (!book) { return res.status(404).json({ error: 'Livre non trouvé' }); } const { title, author } = req.body; if (title) book.title = title; if (author) book.author = author; res.json(book);});

// Supprimer un livre (DELETE)app.delete('/api/books/:id', (req, res) => { const index = books.findIndex(b => b.id === req.params.id); if (index === -1) { return res.status(404).json({ error: 'Livre non trouvé' }); } books.splice(index, 1); res.status(204

Blogs

Book Recommendations