7.10. Travailler avec des routes dans ExpressJS : valider les données dans les routes

Page 56 | Écouter en audio

ExpressJS est un framework d'application réseau Node.js minimaliste et flexible qui fournit un ensemble robuste de fonctionnalités pour la création d'applications Web et mobiles. L'une des principales caractéristiques d'ExpressJS est sa facilité de configuration des routes, ce qui est crucial pour la création d'API. Lorsque vous travaillez avec des routes dans ExpressJS, il est important de s'assurer que les données transmises via ces routes sont validées. La validation des données est une étape importante pour garantir l'intégrité des données et la sécurité des applications.

Pour commencer à travailler avec des routes dans ExpressJS, nous devons d'abord installer et configurer ExpressJS. Cela peut facilement être fait à l'aide du gestionnaire de packages npm, qui est installé avec Node.js. Une fois ExpressJS installé, nous pouvons créer un nouveau fichier JavaScript, généralement appelé « app.js », et importer ExpressJS dans ce fichier.

Les routes dans ExpressJS sont définies à l'aide des méthodes de l'objet application Express, où chaque méthode correspond à une méthode HTTP. Par exemple, app.get() est utilisé pour définir un itinéraire pour les requêtes GET et app.post() pour les requêtes POST. Chaque route possède une fonction de rappel qui est appelée lorsque la route correspond. Cette fonction de rappel prend deux arguments : un objet de requête et un objet de réponse.

Pour illustrer la validation des données dans les routes, considérons un exemple d'API qui reçoit une requête POST pour créer un nouvel utilisateur. Les données utilisateur sont envoyées dans le corps de la demande et peuvent inclure des champs tels que le nom, l'e-mail et le mot de passe. Avant de traiter ces données et de créer le nouvel utilisateur, nous devons valider les données pour nous assurer qu'elles sont du type et du format corrects.

app.post('/users', function(req, res) { // Récupère les données utilisateur du corps de la requête var utilisateur = req.body; // Valider les données utilisateur if (!user.name || typeof user.name !== 'string' || user.name.length > 50) { // Si le nom d'utilisateur n'est pas valide, envoie une réponse d'erreur res.status(400).send('Nom d'utilisateur invalide'); retour; } si (!user.email || !validateEmail(user.email)) { // Si l'email de l'utilisateur n'est pas valide, envoyer une réponse d'erreur res.status(400).send('E-mail utilisateur invalide'); retour; } if (!user.password || typeof user.password !== 'string' || user.password.length < 6) { // Si le mot de passe de l'utilisateur n'est pas valide, envoie une réponse d'erreur res.status(400).send('Mot de passe utilisateur invalide'); retour; } // Si toutes les données sont valides, créez le nouvel utilisateur var newUser = createUser(utilisateur); // Envoie la réponse au nouvel utilisateur res.status(201).send(newUser); });

Dans l'exemple ci-dessus, nous validons les données utilisateur en vérifiant que le nom est une chaîne et pas trop long, que l'email est une adresse email valide et que le mot de passe est une chaîne et comporte au moins 6 caractères. Si l'un de ces tests échoue, nous envoyons une réponse avec un code d'état 400 (Bad Request) et un message d'erreur. Si tous les tests réussissent, nous créons le nouvel utilisateur et envoyons une réponse avec le nouvel utilisateur et un code d'état 201 (Créé).

En plus de valider les données des itinéraires, il est également recommandé de gérer les erreurs d'itinéraire. Cela peut être fait en utilisant la méthode app.use() pour ajouter un middleware de gestion des erreurs. Ce middleware doit être ajouté après toutes les autres routes et middleware, et il comporte quatre arguments : une erreur, un objet de requête, un objet de réponse et une fonction suivante. Si une erreur est transmise à la fonction suivante dans une route ou un middleware, elle sera traitée par le middleware de gestion des erreurs.

Travailler avec des routes dans ExpressJS et valider les données dans les routes est un aspect fondamental de la création d'API dans NodeJS. En garantissant que les données transmises via les itinéraires sont validées, nous pouvons améliorer la sécurité de notre application et garantir que les données que nous traitons sont du type et du format corrects.

Répondez maintenant à l’exercice sur le contenu :

Quel est le rôle de la validation des données dans les routes dans ExpressJS ?

Tu as raison! Félicitations, passez maintenant à la page suivante

Vous avez raté! Essayer à nouveau.

Page suivante de lebook gratuit :

57Travailler avec des routes dans ExpressJS : Travailler avec des téléchargements de fichiers dans des routes

4 minutes

Obtenez votre certificat pour ce cours gratuitement ! en téléchargeant lapplication Cursa et en lisant lebook qui sy trouve. Disponible sur Google Play ou App Store !

Get it on Google Play Get it on App Store

+ 6,5 millions
d'étudiants

Certificat gratuit et
valide avec QR Code

48 mille exercices
gratuits

Note de 4,8/5 dans les
magasins d'applications

Cours gratuits en
vidéo, audio et texte