Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Création et Gestion des Routes dans Express.js | Développement d'Applications Web avec Express.js
Développement Backend avec Node.js et Express.js

bookCréation et Gestion des Routes dans Express.js

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

🌟 Routes de base

Création d'une application Express.js simple avec des routes pour différents types de requêtes HTTP. Chaque route gère une requête HTTP spécifique et envoie une réponse au client.

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('This is the homepage.');
});

app.post('/users', (req, res) => {
  // Handle user creation logic here.
  res.send('User created.');
});

app.put('/users/:id', (req, res) => {
  // Handle user update logic here.
  res.send(`User ${req.params.id} updated.`);
});

app.delete('/users/:id', (req, res) => {
  // Handle user deletion logic here.
  res.send(`User ${req.params.id} deleted.`);
});

app.listen(3000, () => {
  console.log('Server is running on port 3000.');
});
  • Route GET : Cette route répond à une requête GET à l’URL racine (/). Les utilisateurs accédant à la page d’accueil de l’application recevront le message « This is the homepage. » ;
  • Route POST : Cette route répond à une requête POST à l’URL /users. Elle est généralement utilisée pour la création de nouveaux enregistrements utilisateur. La route inclut un commentaire pour la logique de création d’utilisateur, qui peut être remplacée par la logique réelle ;
  • Route PUT : Cette route répond à une requête PUT à l’URL /users/:id. Elle est conçue pour la mise à jour des enregistrements utilisateur selon le paramètre :id. Comme la route POST, elle inclut un commentaire pour la logique de mise à jour ;
  • Route DELETE : Cette route répond à une requête DELETE à l’URL /users/:id. Elle est utilisée pour supprimer des enregistrements utilisateur selon le paramètre :id. Comme pour les autres routes, elle inclut un commentaire pour la logique de suppression.

Remarque

Si vous avez des doutes concernant l’URL ou souhaitez revoir le concept, veuillez consulter l’article suivant : URL vs URI vs URN

🌟 Gestion des paramètres d’URL

Concentration 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. Fonctionnement de cet exemple :

app.get('/users/:id', (req, res) => {
  const userId = req.params.id;
  // Fetch user data based on `userId`.
  res.send(`User details for ID ${userId}.`);
});
  • Définition d’une route avec 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, accès au paramètre :id via req.params.id ;
  • Possibilité de remplacer le commentaire par une logique permettant de récupérer les données utilisateur à partir de l’identifiant userId obtenu depuis le paramètre d’URL ;
  • Enfin, réponse au client avec les informations concernant 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 « premier correspondant, premier servi ». 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 générique :

app.get('/users/:id', (req, res) => {
  const userId = req.params.id;
  // Fetch user data based on `userId`.
  res.send(`User details for ID ${userId}.`);
});

app.get('/users/*', (req, res) => {
  // Handle generic user-related requests.
  res.send('User-related request.');
});
  • La première route, app.get('/users/:id', ...), est une route spécifique qui répond aux URL telles que /users/123. Elle gère les requêtes avec un identifiant utilisateur spécifique ;
  • La seconde route, app.get('/users/*', ...), est une route générique pour les requêtes liées aux utilisateurs. Elle utilise un caractère générique (*) pour correspondre à toute URL commençant par /users/, comme /users/settings.

Dans ce scénario, l'ordre est crucial. La route spécifique doit être définie avant la route générique afin de garantir sa priorité. Si vous définissez la route générique en premier, elle correspondra à toutes les URL commençant par /users/, et la route spécifique ne pourra pas traiter les requêtes avec un identifiant utilisateur.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you explain more about how route order affects request handling in Express.js?

What happens if I reverse the order of the specific and catch-all routes?

Can you give more examples of using URL parameters in routes?

Awesome!

Completion rate improved to 2.56

bookCréation et Gestion des Routes dans Express.js

Glissez pour afficher le menu

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

🌟 Routes de base

Création d'une application Express.js simple avec des routes pour différents types de requêtes HTTP. Chaque route gère une requête HTTP spécifique et envoie une réponse au client.

const express = require('express');
const app = express();

app.get('/', (req, res) => {
  res.send('This is the homepage.');
});

app.post('/users', (req, res) => {
  // Handle user creation logic here.
  res.send('User created.');
});

app.put('/users/:id', (req, res) => {
  // Handle user update logic here.
  res.send(`User ${req.params.id} updated.`);
});

app.delete('/users/:id', (req, res) => {
  // Handle user deletion logic here.
  res.send(`User ${req.params.id} deleted.`);
});

app.listen(3000, () => {
  console.log('Server is running on port 3000.');
});
  • Route GET : Cette route répond à une requête GET à l’URL racine (/). Les utilisateurs accédant à la page d’accueil de l’application recevront le message « This is the homepage. » ;
  • Route POST : Cette route répond à une requête POST à l’URL /users. Elle est généralement utilisée pour la création de nouveaux enregistrements utilisateur. La route inclut un commentaire pour la logique de création d’utilisateur, qui peut être remplacée par la logique réelle ;
  • Route PUT : Cette route répond à une requête PUT à l’URL /users/:id. Elle est conçue pour la mise à jour des enregistrements utilisateur selon le paramètre :id. Comme la route POST, elle inclut un commentaire pour la logique de mise à jour ;
  • Route DELETE : Cette route répond à une requête DELETE à l’URL /users/:id. Elle est utilisée pour supprimer des enregistrements utilisateur selon le paramètre :id. Comme pour les autres routes, elle inclut un commentaire pour la logique de suppression.

Remarque

Si vous avez des doutes concernant l’URL ou souhaitez revoir le concept, veuillez consulter l’article suivant : URL vs URI vs URN

🌟 Gestion des paramètres d’URL

Concentration 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. Fonctionnement de cet exemple :

app.get('/users/:id', (req, res) => {
  const userId = req.params.id;
  // Fetch user data based on `userId`.
  res.send(`User details for ID ${userId}.`);
});
  • Définition d’une route avec 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, accès au paramètre :id via req.params.id ;
  • Possibilité de remplacer le commentaire par une logique permettant de récupérer les données utilisateur à partir de l’identifiant userId obtenu depuis le paramètre d’URL ;
  • Enfin, réponse au client avec les informations concernant 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 « premier correspondant, premier servi ». 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 générique :

app.get('/users/:id', (req, res) => {
  const userId = req.params.id;
  // Fetch user data based on `userId`.
  res.send(`User details for ID ${userId}.`);
});

app.get('/users/*', (req, res) => {
  // Handle generic user-related requests.
  res.send('User-related request.');
});
  • La première route, app.get('/users/:id', ...), est une route spécifique qui répond aux URL telles que /users/123. Elle gère les requêtes avec un identifiant utilisateur spécifique ;
  • La seconde route, app.get('/users/*', ...), est une route générique pour les requêtes liées aux utilisateurs. Elle utilise un caractère générique (*) pour correspondre à toute URL commençant par /users/, comme /users/settings.

Dans ce scénario, l'ordre est crucial. La route spécifique doit être définie avant la route générique afin de garantir sa priorité. Si vous définissez la route générique en premier, elle correspondra à toutes les URL commençant par /users/, et la route spécifique ne pourra pas traiter les requêtes avec un identifiant utilisateur.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 3. Chapitre 5
some-alt