Définition
req
L'objet req représente la requête HTTP et a des propriétés pour la requête requise, les paramètres de la chaîne de requête, le corps, les en-têtes HTTP, et plus encore.
res
L'objet res représente la réponse HTTP qu'une application Express envoie lorsqu'elle reçoit une requête HTTP.
Les propriétés de l'objet req
Params
L'objet req.params contient des propriétés mises en correspondance avec les parties de l'URL nommées dans le chemin de la route. Par exemple, si vous avez une route définie sous '/utilisateurs/:id', l'objet req.params fournira la propriété id, qui peut être accessible via req.params.id.
Query
L'objet req.query contient une paire clé-valeur des paramètres de requête URL, souvent utilisés pour les critères de filtrage ou de pagination. Par exemple, dans '/recherches?terme=node', la propriété terme peut être accédée via req.query.terme.
Body
L'objet req.body contient les données soumises dans le corps de la requête, souvent utilisées pour POST ou PUT. Pour que req.body soit correctement rempli, un middleware tel que 'body-parser' doit être utilisé.
Les méthodes et propriétés de l'objet res
res.send()
La méthode res.send() est utilisée pour envoyer une réponse HTTP au client. Elle peut envoyer des chaînes de caractères simples, des objets JSON, ou d'autres types de données. Si le type de contenu n'est pas défini, il essaiera de garantir un en-tête de réponse approprié.
res.json()
res.json() envoie une réponse JSON. Cette méthode convertit automatiquement un objet JavaScript fourni en JSON avant de l'envoyer. C'est une méthode pratique pour les API RESTful.
res.status()
res.status() est utilisé pour définir le code de statut HTTP de la réponse. Par exemple, res.status(404) définit le code de statut HTTP sur 404, généralement utilisé pour indiquer qu'une ressource n'a pas été trouvée.
Utilisation pratique dans une application Express
Dans une application Express typique, les objets req et res sont utilisés au sein des gestionnaires de route pour traiter les requêtes entrantes et envoyer les réponses. Voici un exemple de route simple :
js
app.get('/utilisateur/:id', function(req, res) {
const idUtilisateur = req.params.id;
const utilisateur = trouverUtilisateurParId(idUtilisateur);
if(utilisateur) {
res.status(200).json(utilisateur);
} else {
res.status(404).send('Utilisateur non trouvé');
}
});
Dans cet exemple, req.params est utilisé pour extraire l'identifiant utilisateur de l'URL et res.status() est utilisé pour définir le code de statut approprié, tandis que res.json() ou res.send() envoient la réponse.
A retenir :
Dans Express, les objets req et res sont essentiels pour traiter les requêtes HTTP. L'objet req permet d'accéder aux paramètres d'URL, aux données du corps de la requête, et aux en-têtes, tandis que l'objet res est utilisé pour envoyer des réponses aux clients. Comprendre leurs propriétés et méthodes est fondamental pour le développement d'applications web robustes avec Express.