10.6. Création d'une API REST de base avec NodeJS et ExpressJS : implémentation de méthodes HTTP
NodeJS est une plateforme de développement logiciel qui permet l'exécution de JavaScript côté serveur. ExpressJS, quant à lui, est un framework pour NodeJS qui fournit des fonctionnalités permettant de créer des API Web de manière simple et rapide. Dans ce chapitre, nous explorerons comment créer une API REST de base à l'aide de NodeJS et ExpressJS, en mettant l'accent sur la mise en œuvre des méthodes HTTP.
Définition de l'environnement
Avant de commencer à créer notre API, nous devons installer NodeJS et ExpressJS. Vous pouvez télécharger NodeJS depuis le site officiel et après l'installation, vous pouvez installer ExpressJS à l'aide du gestionnaire de packages npm fourni avec NodeJS. La commande suivante installe ExpressJS :
npm install express
Créer la structure de base du projet
Pour notre projet, nous allons créer un dossier appelé "api-rest-node", et à l'intérieur de celui-ci, nous allons créer un fichier appelé "app.js". Ce fichier sera le point d'entrée de notre application. Dans "app.js", importons l'express et créons une instance de celui-ci :
const express = require('express');
const app = express();
Ensuite, disons à notre application d'écouter sur le port 3000 :
app.listen(3000);
Mise en œuvre des méthodes HTTP
Les méthodes HTTP sont les opérations que nous pouvons effectuer sur une ressource dans une API REST. Les plus courants sont GET, POST, PUT et DELETE. Implémentons chacun d'eux.
OBTENIR
La méthode GET est utilisée pour récupérer les données d'une ressource. Dans ExpressJS, nous pouvons implémenter une route GET comme suit :
app.get('/resources', (req, res) => {
res.send('Récupération des ressources');
});
Ici, nous demandons à ExpressJS de répondre par « Récupération de ressources » lorsqu'un client fait une requête GET pour « /resources ».
POST
La méthode POST est utilisée pour envoyer des données à une ressource. L'implémentation d'une route POST est similaire à l'implémentation d'une route GET :
app.post('/resources', (req, res) => {
res.send('Création d'une ressource');
});
Ici, nous répondons par "Création d'une ressource" lorsqu'un client fait une requête POST à "/resources".
METTRE
La méthode PUT est utilisée pour mettre à jour une ressource existante. L'implémentation d'une route PUT est la suivante :
app.put('/resources/:id', (req, res) => {
res.send(`Mise à jour de la ressource avec l'identifiant ${req.params.id}`);
});
Ici, nous répondons par "Mise à jour de la ressource avec l'identifiant {id}" lorsqu'un client fait une requête PUT à "/resources/{id}".
SUPPRIMER
La méthode DELETE est utilisée pour supprimer une ressource. L'implémentation d'une route DELETE est la suivante :
app.delete('/resources/:id', (req, res) => {
res.send(`Suppression d'une ressource avec l'identifiant ${req.params.id}`);
});
Ici, nous répondons par "Suppression d'une ressource avec l'identifiant {id}" lorsqu'un client fait une requête DELETE à "/resources/{id}".
Conclusion
Avec cela, nous avons créé une API REST de base avec NodeJS et ExpressJS, implémentant les méthodes HTTP les plus courantes. Toutefois, ce n’est que la pointe de l’iceberg. Vous pouvez faire bien plus avec NodeJS et ExpressJS, notamment l'authentification, la validation des données, la gestion des erreurs, etc. Nous espérons que ce guide vous a donné une bonne base pour commencer à explorer davantage.