Convertit une chaîne d'un jeu de caractères cyrillique l'autre
Apprenez à gérer vos routes HTTP avec ExpressJS grâce à notre ExpressJS routing tutorial. Découvrez comment utiliser Express router pour organiser vos routes HTTP et améliorer la maintenabilité de votre application. Tutoriel pour débutants et développeurs avancés.
Dans ce ExpressJS routing tutorial, nous allons vous expliquer comment configurer et utiliser les routes HTTP avec ExpressJS. Ce guide détaillé est parfait pour les développeurs débutants et avancés, souhaitant maîtriser la gestion des routes dans leurs applications ExpressJS. Nous verrons comment utiliser Express router, une fonctionnalité essentielle pour organiser et maintenir votre code de manière efficace.
Dans le contexte d'ExpressJS, une route représente une URL spécifique qui détermine quel code doit être exécuté lorsqu'une requête HTTP est envoyée à cette URL. En d'autres termes, une route est un chemin défini dans votre application qui gère les requêtes reçues. Chaque route est associée à un ou plusieurs méthodes HTTP (comme GET, POST, PUT, DELETE) et à un gestionnaire de requêtes qui exécute le code lorsque cette route est sollicitée. Cela permet à Express de répondre correctement aux différentes actions que les utilisateurs souhaitent effectuer sur votre site web, comme afficher une page, envoyer des données, ou supprimer des informations.
Le routage dans ExpressJS est crucial pour la gestion des requêtes HTTP. Voici comment définir des routes HTTP dans ExpressJS :
var express = require('express'); var app = express(); app.get('/hello', function(req, res) { res.send('Hello, welcome to ExpressJS routing!'); }); app.listen(3000);
Dans cet exemple, nous avons créé une route GET
qui envoie un message de bienvenue à l'utilisateur. Le serveur écoute sur le port 3000, et lorsque vous accédez à http://localhost:3000/hello
, vous recevrez la réponse "Hello, welcome to ExpressJS routing!".
Dans cet exemple, nous allons voir comment gérer les requêtes GET et POST sur la même route avec ExpressJS. Cela est particulièrement utile pour les applications qui ont besoin de gérer différents types de requêtes sur une même ressource.
var express = require('express'); var app = express(); // Route GET pour afficher un message app.get('/hello', function(req, res) { res.send('Hello, welcome to ExpressJS routing!'); }); // Route POST pour recevoir un message app.post('/hello', function(req, res) { res.send('You just sent a POST request to /hello!'); }); app.listen(3000);
Dans cet exemple, nous avons créé deux routes sur le chemin /hello
. La première route est une requête GET
qui envoie un message de bienvenue, et la deuxième est une requête POST
qui répond à une soumission de données. Cet exemple montre comment gérer plusieurs méthodes HTTP sur la même route avec ExpressJS.
Express Router permet de gérer de manière propre et structurée les routes dans votre application ExpressJS. En organisant les routes en modules distincts, vous améliorez la lisibilité, la maintenabilité et l’évolutivité de votre code. Voici quelques avantages clés :
index.js
) trop encombré.Pour séparer les routes de notre fichier principal index.js
, nous allons utiliser Express.Router. Créez un nouveau fichier appelé things.js
avec le code suivant :
var express = require('express'); var router = express.Router(); router.get('/', function(req, res) { res.send('GET route on things.'); }); router.post('/', function(req, res) { res.send('POST route on things.'); }); module.exports = router;
Ensuite, dans votre fichier index.js
, vous pouvez utiliser ce routeur comme suit :
var express = require('express'); var app = express(); var things = require('./things.js'); app.get('/hello', function(req, res) { res.send("Hello World!"); }); // Inclure le routeur 'things' app.use('/things', things); app.listen(3000);
Cette configuration permet de gérer les routes définies dans le fichier things.js
sous le chemin /things
. Ainsi, toute demande reçue sur /things
sera gérée par le routeur things.js
.
Utiliser Express router pour séparer vos routes HTTP dans des modules distincts est une excellente manière d'améliorer la structure et la maintenabilité de votre code. En suivant ce ExpressJS routing tutorial, vous êtes maintenant capable de configurer des routes GET et POST, ainsi que d'utiliser Express.Router pour organiser efficacement vos routes.
Une méthode HTTP est spécifiée dans chaque requête envoyée au serveur et indique l'opération demandée par le client. Voici les méthodes HTTP les plus couramment utilisées :
Méthode | Description |
---|---|
GET | La méthode GET demande une représentation de la ressource spécifiée. Elle est utilisée pour récupérer des données sans modifier l'état du serveur. |
POST | La méthode POST envoie des données au serveur pour créer une nouvelle ressource à l'URI spécifiée. |
PUT | La méthode PUT envoie des données au serveur pour modifier une ressource existante ou la créer si elle n'existe pas. |
DELETE | La méthode DELETE demande la suppression de la ressource spécifiée sur le serveur. |
Ces méthodes sont les plus couramment utilisées dans le développement d'API avec ExpressJS.
Créons un fichier index.js
dans le répertoire hello-world
et insérons le code suivant :
var express = require('express'); var app = express(); app.get('/', function(req, res){ res.send("GET Request!"); }); app.post('/', function(req, res){ res.send("POST Request!"); }); app.put('/', function(req, res){ res.send("PUT Request!"); }); app.delete('/', function(req, res){ res.send("DELETE Request!"); }); app.listen(3000);
Explication :
app.get('/')
→ Répond aux requêtes HTTP GET avec le message "GET Request!".app.post('/')
→ Répond aux requêtes HTTP POST avec "POST Request!".app.put('/')
→ Répond aux requêtes HTTP PUT avec "PUT Request!".app.delete('/')
→ Répond aux requêtes HTTP DELETE avec "DELETE Request!".app.listen(3000)
→ Démarre le serveur Express sur le port 3000
.Une fois le fichier enregistré, ouvrez votre terminal et exécutez :
E:\Dev\hello-world>nodemon index.js
Le serveur se lance et vous devriez voir un message indiquant que l'application tourne correctement.
Pour tester cette application :
POST → http://localhost:3000/ PUT → http://localhost:3000/ DELETE → http://localhost:3000/
Chaque requête retournera le message correspondant défini dans notre application ExpressJS.
Nous avons vu comment gérer les différentes méthodes HTTP avec ExpressJS. Ces méthodes sont essentielles pour la création d'API RESTful. Vous pouvez maintenant enrichir votre projet en ajoutant des middlewares, des routes dynamiques et une gestion des erreurs.
En ExpressJS, nous pouvons définir des routes statiques, mais il est souvent nécessaire d'utiliser des routes dynamiques pour accepter des paramètres et traiter les requêtes en fonction de ces valeurs.
Une route dynamique permet d'extraire des valeurs de l'URL. Voici un exemple de route acceptant un id
comme paramètre :
var express = require('express'); var app = express(); app.get('/:id', function(req, res){ res.send('L\'ID spécifié est ' + req.params.id); }); app.listen(3000);
🔹 Lorsque vous accédez à http://localhost:3000/123
, la réponse sera :
"L'ID spécifié est 123"
On peut également définir plusieurs paramètres dans une route :
var express = require('express'); var app = express(); app.get('/things/:name/:id', function(req, res) { res.send('ID: ' + req.params.id + ' et Nom: ' + req.params.name); }); app.listen(3000);
🔹 Exemple d'URL : http://localhost:3000/things/tutoriel/12345
🔹 Lorsque vous accédez à cette url vous optiendrez la réponse : ID: 12345 et Nom: tutoriel
Pour s'assurer qu'un id
soit exactement un nombre à 5 chiffres, on peut utiliser une expression régulière :
var express = require('express'); var app = express(); app.get('/things/:id([0-9]{5})', function(req, res){ res.send('ID: ' + req.params.id); }); app.listen(3000);
🔹 Seules les requêtes avec un id
de 5 chiffres (ex: 12345
) seront acceptées.
Pour éviter les erreurs "Cannot GET <route>", il est recommandé d'ajouter une route par défaut :
var express = require('express'); var app = express(); // Autres routes ici... app.get('*', function(req, res){ res.send('Désolé, cette URL est invalide.'); }); app.listen(3000);
🔹 Si l'utilisateur tente d'accéder à une route inexistante, il recevra le message :
"Désolé, cette URL est invalide."
Les routes dynamiques en ExpressJS permettent de créer des URL flexibles et interactives. Grâce aux paramètres et aux expressions régulières, nous pouvons mieux contrôler nos routes et améliorer la gestion des erreurs.