Manipulación dinámica del DOM con datos de API REST

Clase 11 de 20Curso de API REST con Javascript: Fundamentos

Resumen

La manipulación dinámica del DOM con datos provenientes de una API REST es una habilidad fundamental para quienes buscan construir aplicaciones web interactivas y personalizadas. Aquí verás cómo implementar este proceso, manejar métodos HTTP como GET y POST, y adaptar tu código para gestionar favoritos de manera eficiente en JavaScript.

¿Qué es una API REST y cómo se consumen datos con métodos HTTP?

Para recibir y mostrar información dinámicamente en una web, primero necesitas consumir una API REST utilizando métodos HTTP, como GET y POST.

  • El método GET se utiliza por defecto con fetch para solicitar datos.
  • Otros métodos importantes son POST, PUT, PATCH y DELETE.
  • Al usar POST, debes enviar un body (cuerpo) en formato JSON, lo que requiere emplear JSON.stringify para que el backend y frontend se comuniquen correctamente.
  • Además, debes especificar en los headers que el contenido es de tipo JSON para una correcta interpretación.

¿Cómo manipular el DOM dinámicamente con base en respuestas de la API?

El reto es mostrar en el HTML los datos que devuelve la API. Aquí, la clave es crear elementos HTML de manera dinámica según la información de cada respuesta:

  • Utiliza document.createElement para generar nodos como article, img y button por cada elemento recibido (por ejemplo, cada gato favorito).
  • Asigna las propiedades y contenido necesarios a estos nodos, como la URL de la imagen o el texto del botón.
  • Emplea appendChild para insertar los nuevos elementos en el contenedor correspondiente del DOM.
  • Si ocurre un error durante el request a la API, muestra el mensaje de error dinámicamente usando elementos de HTML ya seleccionados.
  • Ajusta propiedades visuales como el width de las imágenes directamente desde JavaScript para mantener la presentación bajo control temporalmente.

¿Cómo gestionar favoritos en la aplicación y actualizar interactivamente?

Para que los usuarios puedan agregar distintos favoritos y verlos reflejados de inmediato:

  • Cambia la función que guarda favoritos para que acepte un ID como argumento y así guardar cada imagen individualmente, evitando duplicar el mismo favorito.
  • Asigna dinámicamente el evento onClick a cada botón mediante JavaScript, asegurando que cada uno guarde el favorito correcto utilizando la función y el ID del gato seleccionado.
  • Utiliza una arrow function para enlazar el evento sin ejecutar la función antes de tiempo.
  • Cuando se agregan favoritos, refresca visualmente la sección de favoritos en el DOM para mostrar el nuevo contenido.
  • Si necesitas limpiar elementos o corregir errores como IDs inválidos, revisa cuidadosamente la correspondencia entre los selectores y elementos reales en tu HTML.
  • Puedes limitar el tamaño de las imágenes manipulando atributos como width.

Los ejemplos y pruebas demuestran cómo adaptar el código para crear experiencias personalizadas a partir de fuentes externas, incrementando el interés y motivando continuidad. Si tienes experiencias o dudas sobre la integración de APIs REST y manipulación dinámica con JavaScript, ¡compártelas en los comentarios!