7.4. Travailler avec des routes dans ExpressJS : utiliser un middleware dans les routes
Page 50 | Écouter en audio
L'un des aspects les plus importants de la création d'API est la définition et la manipulation des itinéraires. Les routes sont les chemins empruntés par les utilisateurs ou les clients d'une API pour accéder à différentes ressources ou fonctionnalités. Dans NodeJS, nous utilisons ExpressJS, un framework minimaliste et flexible, pour gérer efficacement les routes. L'une des fonctionnalités les plus puissantes d'ExpressJS est la possibilité d'utiliser un middleware dans les routes. Explorons cette fonctionnalité en détail.
Que sont les middlewares ?
En termes simples, les middlewares sont des fonctions qui ont accès à l'objet de requête (req), à l'objet de réponse (res) et à la fonction middleware suivante dans le cycle requête/réponse de l'application. Ils sont utilisés pour modifier req et res, ou pour terminer le cycle requête/réponse. Si un middleware ne termine pas la boucle, il doit appeler next() pour passer le contrôle au middleware suivant.
Utiliser des middlewares dans les routes
Le middleware dans ExpressJS peut être appliqué globalement ou à des itinéraires spécifiques. Pour appliquer un middleware à une route spécifique, il vous suffit de le transmettre comme argument supplémentaire au gestionnaire de route. Par exemple :
Dans ce cas, middlewareFunction est une fonction qui sera exécutée avant le gestionnaire de route. Il peut modifier l'objet req ou res, ou même mettre fin à la requête et envoyer une réponse.
Exemples de middleware
Il existe de nombreuses utilisations pratiques du middleware dans les routes. Voici quelques exemples :
Authentification
Un middleware d'authentification peut vérifier qu'un utilisateur est authentifié avant de lui permettre d'accéder à une route. Si l'utilisateur n'est pas authentifié, le middleware peut mettre fin à la demande et envoyer une réponse d'erreur. Si l'utilisateur est authentifié, le middleware peut ajouter des informations utilisateur à l'objet req afin que le gestionnaire de route puisse l'utiliser.
Validation des données
Un middleware de validation de données peut vérifier que les données envoyées dans une requête POST ou PUT sont valides. Si les données ne sont pas valides, le middleware peut mettre fin à la demande et envoyer une réponse d'erreur. Si les données sont valides, le middleware peut passer le contrôle au prochain middleware ou gestionnaire de route.
Journal
Un middleware de journalisation peut enregistrer les détails de chaque requête dans un fichier ou une base de données. Cela peut être utile pour déboguer ou conserver une trace de toutes les requêtes arrivant sur le serveur.
Conclusion
Les middlewares offrent un moyen puissant d'ajouter des fonctionnalités à vos itinéraires dans ExpressJS. Ils vous permettent de réutiliser la logique sur plusieurs itinéraires tout en conservant votre code DRY (Don't Repeat Yourself). De plus, ils peuvent contribuer à améliorer la sécurité de votre API en garantissant que seuls les utilisateurs authentifiés peuvent accéder à certaines routes et que les données envoyées à votre API sont toujours valides.
J'espère que ce chapitre vous a permis de bien comprendre comment utiliser les routes dans ExpressJS et comment utiliser le middleware dans les routes. Dans le chapitre suivant, nous approfondirons ExpressJS et explorerons certaines de ses autres fonctionnalités puissantes.
Répondez maintenant à l’exercice sur le contenu :
Que sont les Middlewares dans le contexte d’ExpressJS et comment sont-ils utilisés ?
Tu as raison! Félicitations, passez maintenant à la page suivante
Vous avez raté! Essayer à nouveau.
Page suivante de lebook gratuit :