Comment écrire une API REST en JavaScript en 30 minutes

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 : 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 -v


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



mkdir my-apicd my-apinpm init -y


Installez la dépendance principale — le framework Express, qui simplifie considérablement le travail avec HTTP :



npm install express


Installez également nodemon (optionnel) pour le redémarrage automatique du serveur lors des modifications du code :



npm install --save-dev nodemon


Ajoutez 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                

Blogs

Book Recommendations