Contenido del curso
0:00/6:01
Cómo JavaScript habla con una API
01:30Cómo funciona el protocolo HTTP entre JavaScript y APIs
Suscríbete para ver másQué significan los códigos de estado HTTP
Suscríbete para ver másHeaders HTTP: qué son y cómo funcionan
Suscríbete para ver másPeticiones HTTP reales en el navegador
Suscríbete para ver másIntegración de productos y detalle con fetch
Suscríbete para ver másFiltrar productos por categoría con URLSearchParams
Suscríbete para ver másCrear productos con fetch y POST
Suscríbete para ver másEdición de productos con verbo PUT en JavaScript
Suscríbete para ver másCómo implementar DELETE en un repositorio
play_circleViendo ahoraEliminar un producto con el método DELETE en la API Fake Store de Platzi es una de las operaciones más simples del CRUD: solo necesitas el ID del producto y obtienes una respuesta booleana que indica si la eliminación fue exitosa o no. Esta guía te muestra cómo integrarlo en tu repositorio y conectarlo con la vista de detalle.
¿Qué necesita el endpoint DELETE de la API Fake Store?
La especificación es directa: usas el verbo HTTP delete y agregas el ID del producto en la URL. No hay query parameters adicionales ni body que enviar.
¿Qué retorna un endpoint DELETE en la API Fake Store? Retorna una respuesta vacía, pero el status HTTP indica si la operación fue exitosa. Por eso basta con leer
response.okpara saber si el producto se eliminó.
¿Cómo implementar deleteProduct en el repositorio?
En el repositorio de productos creas un método asíncrono que recibe el product ID y llama al endpoint con fetch. La lógica es muy parecida a la del edit, pero sin body [01:00].
Los pasos clave dentro del método:
async deleteProduct(productId).response.ok para exponer un booleano al consumidor.Al hacer return response.ok, el repositorio entrega directamente el resultado lógico de la operación. No necesitas parsear JSON ni manipular el body, porque la API responde vacío y la única información útil está en el estatus.
¿Por qué un DELETE no lleva body? Porque el verbo delete solo necesita identificar el recurso a eliminar mediante la URL. Enviar un body sería redundante y muchas APIs lo ignoran.
¿Cómo conectar la eliminación con la vista de detalle?
La vista de detalle ya tiene un botón Eliminar producto que abre un modal con las opciones de confirmar o cancelar. Al confirmar, se dispara la función deleteProduct que maneja toda la lógica de UI [02:10].
¿Qué lógica debes mantener en la función deleteProduct?
El flujo original incluía una simulación con timeout que vas a reemplazar por la llamada real al repositorio, pero conservas el comportamiento visual:
¿Cómo integrar el repositorio dentro de la vista?
Dentro de la función accedes al repositorio con window.productRepository y llamas a repository.deleteProduct(productId). La promesa retorna un booleano que puedes nombrar wasDeleted para reutilizar la lógica existente sin cambios mayores.
javascript window.productRepository .deleteProduct(productId) .then((wasDeleted) => { hideDeleteModal(); if (wasDeleted) { // mostrar mensaje de éxito y redirigir al home } else { // mostrar error y restaurar el botón de Eliminar } });
La clave está en mover la decisión desde el timeout simulado hacia el then de la promesa real. Así, el comportamiento de UI se mantiene idéntico, pero ahora respaldado por la API.
¿Cómo verificar que la eliminación funciona correctamente?
Para probarlo, levanta el servidor, recarga la página y coloca un breakpoint dentro de deleteProduct. Al confirmar la eliminación en el modal, el debugger se detendrá en la invocación al repositorio [04:20].
En la pestaña Network del navegador podrás observar tres detalles importantes:
response.ok es true, lo que confirma que la API procesó la eliminación.Después del next en el debugger, verás cómo se oculta el modal, aparece el mensaje de éxito y el usuario es redirigido al home. Ese es exactamente el comportamiento que ya existía, ahora conectado con la API real.
El delete es de los verbos más sencillos de implementar porque solo tiene dos resultados posibles: eliminado o no eliminado. Si tuviste algún problema implementando el método en el repositorio o integrándolo con el template de detalle, déjame tu duda en los comentarios.
Samuel Steven Bernal Martínez
Mateo Henao
Diego Ivan Cundapi Leon
Andres Felipe Correa Villa
Muy buena forma de abordar el CRUD, se aprende mucho
Que Joya de curso, muy buena la explicacion, los ejemplos y la forma en que piensa cada solucion en el codigo.
me gustó el curso, pero también deseaba aprender como crear una API, no lo consumirlo.
Con el ejemplo de response.ok; veo que uno a veces se complica, enviando de respuesta un JSON con información, pero a si queremos algo simple solo hacemos el response.ok; tal cual lo mostro el video y recibe un true o false.