Supprimer
Fait partie de la section API REST du Journey Node.js de Coddy. Leçon 4 sur 18.
Après une suppression, il ne reste rien à afficher au client. La réponse appropriée est 204 No Content : la requête a réussi et le corps est vide.
DELETE /api/events/5 → 204 No Content
DELETE /api/events/5 → 404 Not FoundLa deuxième requête ne trouve aucun événement 5, elle renvoie donc 404, comme une requête GET pour un identifiant inconnu. Pour retirer un élément d’un tableau, trouvez sa position avec findIndex, qui renvoie -1 lorsqu’aucun élément ne correspond, puis supprimez-le avec splice :
events.splice(index, 1); // supprimer 1 élément à l’index
res.status(204).end(); // un statut et aucun corpsDéfi
FacileDELETE /api/tasks/:idsupprime la tâche et renvoie le code 204 sans corps de réponse.- Un identifiant inconnu renvoie le code 404 avec
{ "error": "Task not found" }.
Envoyez DELETE /api/tasks/3 deux fois, puis GET /api/tasks.
Essayez vous-même
import { Router } from 'express';
import { nextId, tasks } from '../store.js';
const router = Router();
router.get('/', (req, res) => {
res.json(tasks);
});
router.get('/:id', (req, res) => {
const task = tasks.find((t) => t.id === Number(req.params.id));
if (!task) {
return res.status(404).json({ error: 'Task not found' });
}
res.json(task);
});
router.post('/', (req, res) => {
const { title } = req.body ?? {};
if (!title) {
return res.status(400).json({ error: 'title is required' });
}
const task = { id: nextId(), title, done: false, createdAt: new Date().toISOString() };
tasks.push(task);
res.status(201).location(`/api/tasks/${task.id}`).json(task);
});
router.patch('/:id', (req, res) => {
const task = tasks.find((t) => t.id === Number(req.params.id));
if (!task) {
return res.status(404).json({ error: 'Task not found' });
}
const { title, done } = req.body ?? {};
if (title !== undefined) task.title = title;
if (done !== undefined) task.done = done;
res.json(task);
});
export default router;
Toutes les leçons de API REST
1Ressources et verbes
Ressources et URLCréer avec POST