Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Création de Routes | Cadre Express.js
Développement Backend Avec Node.js et Express.js
course content

Contenu du cours

Développement Backend Avec Node.js et Express.js

Développement Backend Avec Node.js et Express.js

1. Introduction
2. Applications Console
3. Cadre Express.js
4. Développement d'API REST

book
Création de Routes

Explorons ces exemples pratiques de création de routes dans Express.js plus en détail.

🌟 Routes de Base

Créons une application Express.js simple avec des routes pour différentes méthodes HTTP. Chaque route gère une requête HTTP spécifique et envoie une réponse au client.

  • Route GET : Cette route répond à une requête GET à l'URL racine (/). Les utilisateurs qui accèdent à la page d'accueil de l'application recevront le message "Ceci est la page d'accueil.";
  • Route POST : Cette route répond à une requête POST à l'URL /users. Elle est généralement utilisée pour créer de nouveaux enregistrements d'utilisateurs. La route inclut un commentaire pour gérer la logique de création d'utilisateur, qui peut être remplacé par la logique réelle de création d'utilisateur;
  • Route PUT : Cette route répond à une requête PUT à l'URL /users/:id. Elle est conçue pour mettre à jour les enregistrements d'utilisateurs en fonction du paramètre :id. Comme la route POST, elle inclut un commentaire pour gérer la logique de mise à jour d'utilisateur;
  • Route DELETE : Cette route répond à une requête DELETE à l'URL /users/:id. Elle est utilisée pour supprimer des enregistrements d'utilisateurs en fonction du paramètre :id. Comme pour les autres routes, elle inclut un commentaire pour gérer la logique de suppression d'utilisateur.

Remarque

Si vous n'êtes pas sûr de l'URL ou si vous souhaitez revoir le concept, veuillez vous référer à l'article suivant : URL vs URI vs URN

🌟 Gérer les paramètres d'URL

Concentrons-nous sur la création d'une route qui gère les paramètres d'URL. Les paramètres d'URL sont des parties dynamiques d'une URL qui peuvent être utilisées pour transmettre des données au serveur. Voici comment cet exemple fonctionne :

  • Nous définissons une route en utilisant app.get('/users/:id', ...), où :id est un paramètre d'URL. Cela signifie que lorsqu'un utilisateur accède à une URL comme /users/123, la variable req.params.id contiendra la valeur 123;
  • À l'intérieur du gestionnaire de route, nous accédons au paramètre :id en utilisant req.params.id;
  • Vous pouvez remplacer le commentaire par une logique pour récupérer les données de l'utilisateur en fonction de l'userId obtenu à partir du paramètre d'URL;
  • Enfin, nous répondons au client avec des informations sur l'utilisateur identifié par le paramètre :id.

🌟 Ordre et Priorisation des Routes

L'ordre dans lequel les routes sont définies est important car Express utilise une stratégie de premier correspondant gagnant. La première route correspondante sera exécutée. Dans cet exemple, nous considérons un scénario où vous avez à la fois une route spécifique et une route de type catch-all :

  • La première route, app.get('/users/:id', ...), est une route spécifique qui répond aux URL comme /users/123. Elle gérera les requêtes avec un ID utilisateur spécifique ;
  • La deuxième route, app.get('/users/*', ...), est une route de type catch-all pour les requêtes génériques liées aux utilisateurs. Elle utilise un joker (*) pour correspondre à toute URL qui commence par /users/, comme /users/settings.

Dans ce scénario, l'ordre est crucial. La route spécifique doit être définie avant la route de type catch-all pour s'assurer qu'elle a la priorité. Si vous définissez la route de type catch-all en premier, elle correspondra à toutes les URL commençant par /users/, et la route spécifique n'aura pas la possibilité de gérer les requêtes avec un ID utilisateur.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
We're sorry to hear that something went wrong. What happened?
some-alt