Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Implémentation de la Route "Update Post by ID" | Développement d'API REST
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
Implémentation de la Route "Update Post by ID"

Nous allons étudier comment mettre à jour un post existant en utilisant la route "UPDATE POST BY ID" dans le fichier postsRoutes.js. Cette route gère la mise à jour d'un post basé sur son ID unique.

Définition de la Route

Le code ci-dessous définit la route "UPDATE POST BY ID" en utilisant router.put():

  • Cette route est configurée pour gérer les requêtes HTTP PUT, spécifiquement pour la mise à jour des posts;
  • Elle inclut un :id paramétré dans le chemin de la route pour identifier le post à mettre à jour;
  • Le middleware validatePostData est ajouté pour assurer la validation des données avant de procéder. La logique du middleware validatePostData reste la même que dans l'étape précédente.

Obtention des données de la requête

Ici, nous extrayons les données nécessaires de la requête, y compris l'ID du post et le contenu mis à jour du post :

  • L'ID du post est extrait des paramètres de la requête, le rendant disponible pour un traitement ultérieur. Le paramètre :id de l'URL de la route est capturé en utilisant req.params.id;
  • Les username, postTitle et postContent sont extraits du corps de la requête.

Mettre à jour le post dans la base de données

La mise à jour d'un post existant implique plusieurs étapes, comme décrit ci-dessous :

  • Nous lisons les données existantes à partir du fichier JSON en utilisant la fonction asynchrone readData, comme expliqué précédemment;
  • La variable postIndex stocke l'index du post à mettre à jour dans le tableau data en comparant les IDs des posts;
  • Si le post n'est pas trouvé (c'est-à-dire postIndex === -1), une réponse 404 (Non trouvé) avec un message d'erreur est renvoyée au client;
  • Pour mettre à jour les données du post, nous fusionnons les données existantes du post (...data[postIndex]) avec les données mises à jour (...updatedData). Cela garantit que seuls les champs spécifiés sont mis à jour et que les données existantes sont conservées;
  • Enfin, le tableau data mis à jour est réécrit dans le fichier JSON pour enregistrer les modifications apportées au post.

Envoi d'une réponse

Après la mise à jour réussie du post, une réponse JSON est envoyée au client. La réponse inclut un code de statut 200 (OK), indiquant une mise à jour réussie et les données du post mis à jour.

Gestion des erreurs

Nous enveloppons le code de la route dans un bloc try-catch pour gérer les erreurs potentielles lors de la récupération des données ou du traitement des requêtes. Toutes les erreurs qui se produisent sont enregistrées dans la console à des fins de débogage :

Code complet du fichier postsRoutes.js à cette étape

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

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