Conexión de API para Renderizar Personajes en Aplicación Web

Clase 11 de 16Curso de Single Page Application con JavaScript Vanilla

Resumen

¿Cómo conectar nuestra aplicación a una API de Rick and Morty?

En el desarrollo de aplicaciones web, integrar datos de una API externa es una habilidad esencial. En este ejemplo práctico, aprenderemos a conectar nuestra aplicación a la API de Rick and Morty. Esta API nos proporciona la información de los personajes de esta popular serie animada. Vamos a construir la lógica para traer estos datos a nuestro proyecto.

¿Qué pasos seguir para crear la lógica de integración?

Para conectar nuestra aplicación a la API, primero necesitamos crear una utilería que maneje las solicitudes. La lógica estará basada en uso de funciones asíncronas y la técnica fetch, de tal manera que nuestra aplicación pueda interactuar de manera eficaz con los datos.

  1. Creación del archivo utilitario:

    • Crearemos un archivo llamado getData.js donde se gestionará toda la lógica para obtener datos de la API.
  2. Definición de la constante para la URL de la API:

    const apiURL = 'https://rickandmortyapi.com/api/character/';
    
  3. Desarrollo de la función getData:

    • Se generará una función utilizando async y await para manejar las promesas de manera eficaz, posibilitando tanto la llamada general a todos los personajes, como la llamada específica a un personaje basado en su ID.
    const getData = async (id) => {
      const apiURl = id ? `${apiURL}${id}` : apiURL;
      try {
        const response = await fetch(apiURl);
        const data = await response.json();
        return data;
      } catch (error) {
        console.error('Fetch Error', error);
      }
    };
    

¿Cómo utilizar getData en nuestra aplicación?

Ahora que hemos creado la lógica para obtener datos, necesitamos integrar esta funcionalidad en nuestros componentes de la aplicación, lo que asegurará que nuestros usuarios vean la información de los personajes correctamente.

  1. Importar getData en el componente principal:

    • Importaremos la función en el componente correspondiente de nuestra aplicación, simplemente accediendo desde el directorio donde se encuentra nuestro archivo utilitario.
    import getData from '../utils/getData';
    
  2. Lógica dentro del componente Home:

    • Dentro del componente Home, utilizaremos getData al cargar el componente para traer y renderizar la lista de personajes.
    const loadCharacters = async () => {
      const characters = await getData();
      // Aquí se procesan y se renderizan los personajes
    };
    
  3. Iteración y renderizado de personajes:

    • La obtención de datos se realiza al inicializar la aplicación, integrando los personajes en el DOM de manera dinámica.
    characters.map(character => (
      `<div>
         <h2>${character.name}</h2>
         <img src="${character.image}" alt="${character.name}">
       </div>`
    )).join('');
    

¿Cómo podemos verificar la funcionalidad en el navegador?

Con estos pasos cumplidos, el testeo es crucial para validar el funcionamiento correcto de nuestra aplicación:

  • Navega a la sección que renderiza los personajes.
  • Verifica que la información se carga correctamente desde la API.

Este proceso de integración demuestra cómo conectar una aplicación a una API externa, utilizando JavaScript y un enfoque estructurado y modular. ¡Ahora es tu turno de experimentar y crear más proyectos conectados a APIs!