Contenu du cours
Développement Backend Avec Node.js et Express.js
Développement Backend Avec Node.js et Express.js
Implémentation de la Route "Delete Post by ID"
Nous allons plonger dans l'implémentation de la route "DELETE POST BY ID" dans le fichier postsRoutes.js
. Cette route permet aux clients de supprimer un post spécifique en fournissant son ID unique.
Définition de la Route
Le code ci-dessous définit la route "DELETE POST BY ID" en utilisant router.delete()
:
Cette route gère les requêtes HTTP DELETE avec un :id
paramétré dans le chemin de la route. Le paramètre :id
est utilisé pour identifier le post à supprimer. Nous n'avons pas besoin de middleware supplémentaire comme dataValidation
car nous obtenons toutes les informations nécessaires à partir du paramètre URL.
Extraction de l'ID du Post
Nous extrayons l'ID du post à partir des paramètres de la requête en utilisant req.params.id
:
Cette ligne capture la valeur :id
de l'URL, nous permettant de travailler avec dans le code suivant.
Supprimer le Post
Voici comment nous supprimons le post :
- Nous commençons par lire les données existantes à partir du fichier JSON en utilisant la fonction asynchrone
readData
, comme expliqué précédemment. - Nous trouvons l'index du post à supprimer dans le tableau
data
en comparant les IDs des posts. - Si le post n'est pas trouvé (c'est-à-dire,
postIndex === -1
), nous retournons une réponse 404 (Non Trouvé) avec un message d'erreur. - En utilisant la méthode
splice
, nous supprimons les données du post du tableaudata
. La variablepostIndex
détermine la position du post à supprimer. - Le tableau
data
mis à jour, avec le post supprimé, est ensuite réécrit dans le fichier JSON pour enregistrer les modifications effectuées lors de la suppression.
Envoi d'une Réponse
Une réponse JSON avec un code de statut 200 (OK) est envoyée au client, indiquant une suppression réussie. La réponse inclut un message confirmant que le post a été supprimé avec succès :
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 de la requête. 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
Merci pour vos commentaires !