Le routage et le middleware sont deux concepts importants dans Node.js et le framework Express pour la création d'applications Web.
Routage :
- Le routage est le processus consistant à déterminer comment gérer les demandes du client et répondre avec les ressources correspondantes sur le serveur.
- Dans Express, nous pouvons définir des routes en spécifiant la méthode HTTP (GET, POST, PUT, DELETE, etc.) et le chemin URL correspondant.
- Chaque route peut avoir une ou plusieurs fonctions de gestionnaire pour effectuer des tâches telles que le traitement des demandes, l'accès à la base de données et l'envoi de réponses au client.
Intergiciel :
- Les intergiciels sont des fonctions qui sont exécutées dans une séquence avant que la demande n'atteigne le gestionnaire de route final.
- Ils sont utilisés pour exécuter des fonctionnalités courantes et gérer des tâches intermédiaires telles que l'authentification, la journalisation, la gestion des erreurs, etc.
- Le middleware peut être appliqué à l'ensemble de l'application ou spécifié pour des routes spécifiques.
- Chaque middleware reçoit les paramètres req (demande) et res (réponse) et peut effectuer le traitement, transmettre la demande au middleware suivant ou terminer le traitement en envoyant une réponse au client.
Exemple combinant Routage et Middleware dans Express :
const express = require('express');
const app = express();
// Middleware
const loggerMiddleware = (req, res, next) => {
console.log('A new request has arrived!');
next();
};
// Apply middleware to the entire application
app.use(loggerMiddleware);
// Main route
app.get('/', (req, res) => {
res.send('Welcome to the homepage!');
});
// Another route
app.get('/about', (req, res) => {
res.send('This is the about page!');
});
// Start the server
app.listen(3000, () => {
console.log('Server is listening on port 3000...');
});
Dans cet exemple, nous avons défini un middleware personnalisé loggerMiddlewarepour enregistrer chaque nouvelle requête arrivant sur le serveur. Ce middleware est appliqué à l'ensemble de l'application utilisant le app.use()procédé. Ensuite, nous avons défini deux routes, une pour la page principale ( '/') et une autre pour la page à propos ( '/about'). Enfin, nous démarrons le serveur et écoutons sur le port 3000.
Le middleware loggerMiddlewaresera exécuté pour chaque requête, enregistrant un message dans la console avant de transmettre la requête au gestionnaire de route ou au middleware correspondant dans la séquence.
Cette combinaison de routage et de middleware nous permet de gérer différentes demandes et d'effectuer efficacement des tâches courantes dans une application Express.