Consumo de APIs REST públicas con JavaScript y fetch

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

Resumen

Aprender a consumir una API REST pública es una excelente práctica para quienes buscan dominar el desarrollo web moderno. Aquí verás cómo encontrar, elegir y consumir fácilmente una API gratuita desde GitHub, crear un pequeño proyecto de imágenes aleatorias de gatos y algunos consejos prácticos para manejar autenticación y evitar errores comunes como CORS.

¿Dónde encontrar APIs públicas gratuitas y seguras?

Para practicar el consumo de APIs, puedes buscar en GitHub el repositorio llamado Public APIs. Allí verás una colección de APIs organizadas por categorías (animales, arte, anime, blockchain y más). Estas APIs pueden ser utilizadas libremente, lo cual resulta perfecto para practicar y crear proyectos para tu portafolio.

El repositorio muestra un índice donde cada API contiene información relevante como: - CORS: Indica si la API puede ser consumida fácilmente desde el navegador. Elige APIs sin CORS al empezar para evitar problemas de acceso. - HTTPS: Ofrece mayor seguridad en la transmisión de datos. Prioriza las APIs que lo incluyan. - Método de autenticación: Algunas APIs requieren API key, otras funcionan sin autenticación y algunas usan métodos avanzados como OAuth. Para comenzar, resulta más práctico elegir APIs que no usen OAuth.

¿Qué es la TheCat API y cómo se usa?

Entre las opciones para practicar, destaca TheCat API. Es gratuita hasta 10 000 solicitudes al mes y requiere solo una API key, permitiendo cargar imágenes de gatos aleatorios. Su documentación es clara e incluye rutas, ejemplos y descripciones para empezar rápido.

En la sección de quickstart, la API ofrece una URL específica. Al hacer una petición a este endpoint, se recibe un array con un solo objeto que contiene, entre otras propiedades, la url de la imagen de un gato. Así puedes implementarla para mostrar imágenes aleatorias en tus proyectos.

¿Cómo integrar una API de imágenes en tu proyecto HTML y JavaScript?

  1. Estructura tu proyecto:
  2. Crea una carpeta de trabajo, un archivo index.html y un archivo de JavaScript, por ejemplo main.js.
  3. Prepara HTML básico: incluye un título y un elemento img (con solo el atributo alt).
  4. Conecta JavaScript:
  5. Enlaza main.js dentro del HTML mediante una etiqueta script al final del body.
  6. Inicializa con un console.log("Hello world!") para comprobar la conexión.
  7. Consulta a la API:
  8. Define la URL del endpoint de TheCat API: https://api.thecatapi.com/v1/images/search.
  9. Usa fetch para realizar la petición; trabaja con promesas para transformar la respuesta usando res.json().
  10. Accede a la propiedad url del primer elemento del array devuelto y asígnala como atributo src del elemento img en el DOM.

¿Cómo facilitar la lectura de respuestas JSON en el navegador?

Las respuestas de APIs REST suelen ser en formato JSON. Puedes instalar extensiones como JSON Viewer en navegadores como Google Chrome para visualizar mejor las estructuras, con tabulación, colores y encabezados que ordenan la información.

Esto es útil, especialmente si necesitas explorar APIs con respuestas más extensas o complejas.

¿Qué retos prácticos ayudan a mejorar la integración de APIs?

Como parte del aprendizaje, se recomiendan dos retos basados en el ejemplo de imágenes de gatos: - Reto 1: Agrega un botón al HTML que permita cargar una nueva imagen aleatoria al hacer clic, sin recargar la página. Para ello, enlaza el evento del botón a la función que ejecuta el fetch. - Reto 2: Implementa la lógica usando async/await en vez de la sintaxis clásica de promesas con then, para practicar diferentes formas de manejar código asíncrono.

¿Te animas a probar y a compartir tu avance? Cuéntanos tus resultados o pregunta en los comentarios si tienes dudas.