34-7 Supprimer un projet (remove())
Le principe est le même que les autres requêtes étant dépendantes d'une ressource existante.
On récupère le projet dans un premier temps, puis on le supprime ensuite via la fonction remove() sur l'entité.
src/projets/projets.service.ts
async supprimer(id: number): Promise<void> {
const projet = await Projet.findOneOrFail({
where: {
id: id
}
});
await projet.remove();
}
Gérer l'erreur 404 dans le contrôleur
À l'image de ce que nous venons de faire pour la modification, gèrons le cas où findOneOrFail lèverait une erreur.
async remove(@Param('id') id: string) {
try {
await this.projetsService.supprimer(+id);
} catch (error) {
if(error instanceof EntityNotFoundError) {
throw new NotFoundException();
} else {
throw error;
}
}
}
info
N'oubliez pas de mettre la fonction asynchrone.
Test Postman
Vous pouvez effectuer un test dans Postman à l'aide d'une requête telle que DELETE http://localhost:3000/projets/5 (choisissez un id qui existe dans votre BD).
Vous devriez recevoir une réponse 200 et vous pouvez valider que le projet a bien été retiré de votre base de données.
