19. API Rick&Morty
Tutorial 19: API Rick & Morty - Conociendo nuestro recurso
馃寪 Introducci贸n a la API Rick & Morty
¡Excelente noticia! Vamos a utilizar una API p煤blica y completamente gratuita que contiene toda la informaci贸n de la famosa serie Rick & Morty. Esta API es perfecta para practicar porque:
✅ No requiere autenticaci贸n
✅ Es completamente gratuita
✅ Tiene datos reales y actualizados
✅ Est谩 muy bien documentada
✅ Es perfecta para proyectos de aprendizaje
馃敆 Accediendo a la documentaci贸n oficial
Vamos a la p谩gina web oficial de la API:
text
https://rickandmortyapi.com/
Caracter铆sticas principales de la API:
Base URL: https://rickandmortyapi.com/api
Tipo: REST API
Formato de respuesta: JSON
Rate limiting: Sin l铆mites conocidos (para uso educativo)
馃摎 Explorando la documentaci贸n
1. Endpoints disponibles
La API tiene 3 endpoints principales:
2. Estructura de la respuesta
Cuando hacemos una petici贸n a /character, obtenemos:
json
{
"info": {
"count": 826,
"pages": 42,
"next": "https://rickandmortyapi.com/api/character?page=2",
"prev": null
},
"results": [
{
"id": 1,
"name": "Rick Sanchez",
"status": "Alive",
"species": "Human",
"type": "",
"gender": "Male",
"origin": {...},
"location": {...},
"image": "https://rickandmortyapi.com/api/character/avatar/1.jpeg",
"episode": [...],
"url": "https://rickandmortyapi.com/api/character/1",
"created": "2017-11-04T18:48:46.250Z"
},
// ... m谩s personajes
]
}
馃攳 Probando la API manualmente
Opci贸n 1: Navegador web
Simplemente visita en tu navegador:
text
https://rickandmortyapi.com/api/character
Ver谩s el JSON completo con los primeros 20 personajes.
Opci贸n 2: Usando fetch en la consola del navegador
Abre las herramientas de desarrollo (F12) y en la pesta帽a "Console", escribe:
javascript
// Prueba r谩pida
fetch('https://rickandmortyapi.com/api/character')
.then(response => response.json())
.then(data => console.log(data.results[0]));
Opci贸n 3: Herramientas como Postman o Insomnia
Si quieres probar m谩s a fondo, estas herramientas son excelentes para hacer peticiones HTTP.
馃搳 Informaci贸n 煤til de cada personaje
Campos que recibiremos por cada personaje:
馃幆 Lo que necesitamos para nuestro proyecto
Para nuestra aplicaci贸n, vamos a utilizar principalmente:
name → Para mostrar el nombre
image → Para mostrar la foto
status → Para indicar si est谩 vivo o muerto
species → Para mostrar la especie
episode.length → Para contar episodios
馃攧 Paginaci贸n de la API
La API usa paginaci贸n. Cada p谩gina contiene 20 personajes. Para navegar:
javascript
// Primera p谩gina
https://rickandmortyapi.com/api/character
// Segunda p谩gina
https://rickandmortyapi.com/api/character?page=2
// Podemos ver cu谩ntas p谩ginas hay en "info.pages"
馃挕 Funcionalidades avanzadas (opcional)
Si quieres expandir el proyecto m谩s adelante:
1. B煤squeda por nombre
text
https://rickandmortyapi.com/api/character/?name=rick
2. Filtros m煤ltiples
text
https://rickandmortyapi.com/api/character/?name=rick&status=alive&species=human
3. Obtener personaje espec铆fico
text
https://rickandmortyapi.com/api/character/1
馃洜️ Preparando nuestro c贸digo
Modifica tu funci贸n reqApi en App.js:
javascript
const reqApi = async () => {
console.log("Llamando a la API...");
// URL de la API
const api = await fetch("https://rickandmortyapi.com/api/character");
// Convertir respuesta a JSON
const characterApi = await api.json();
// Ver lo que obtenemos en consola
console.log("Respuesta completa:", characterApi);
console.log("Total personajes:", characterApi.info.count);
console.log("Primer personaje:", characterApi.results[0]);
};
馃И Prueba r谩pida en tu aplicaci贸n
Actualiza tu funci贸n reqApi con el c贸digo anterior
Abre la consola del navegador (F12)
Haz clic en "Buscar personajes"
Deber铆as ver la respuesta de la API en la consola
Lo que ver谩s:
Un objeto con propiedades info y results
results es un array con 20 objetos (personajes)
Cada objeto tiene todas las propiedades que vimos antes
馃摑 Ejemplo de respuesta simplificada:
javascript
// characterApi.results[0] ser铆a:
{
"id": 1,
"name": "Rick Sanchez",
"status": "Alive",
"species": "Human",
"image": "https://rickandmortyapi.com/api/character/avatar/1.jpeg",
"episode": [
"https://rickandmortyapi.com/api/episode/1",
"https://rickandmortyapi.com/api/episode/2",
// ... 51 episodios en total
]
}
馃帹 Visualizando lo que vamos a crear
Imagina que por cada personaje mostraremos:
text
┌─────────────────────┐
│ [Imagen Personaje] │
│ │
│ Nombre: Rick Sanchez│
│ Estado: ● Alive │
│ Especie: Human │
│ Episodios: 51 │
└─────────────────────┘
馃敆 Recursos 煤tiles
Documentaci贸n oficial: https://rickandmortyapi.com/documentation
GitHub del proyecto: https://github.com/afuh/rick-and-morty-api
Playground para pruebas: Usa la consola de tu navegador
⚠️ Consideraciones importantes
CORS est谩 habilitado → Podemos hacer fetch directamente desde el navegador
Las im谩genes est谩n alojadas → No necesitamos descargarlas
Los datos son reales → La API se actualiza con nuevos episodios
Es solo para desarrollo → En producci贸n considerar铆as l铆mites de tasa
馃殌 Pr贸ximos pasos
En el siguiente tutorial vamos a:
Almacenar la respuesta de la API en el estado de React
Mostrar los personajes en lugar de la imagen de inicio
Crear componentes para cada tarjeta de personaje
馃挰 Actividad pr谩ctica
Antes de continuar, haz esto:
Ve a https://rickandmortyapi.com/api/character en tu navegador
Examina la estructura JSON
Identifica 3 personajes que reconozcas
Actualiza tu funci贸n reqApi para que muestre solo los nombres en consola
javascript
const reqApi = async () => {
const api = await fetch("https://rickandmortyapi.com/api/character");
const characterApi = await api.json();
// Muestra solo los nombres
characterApi.results.forEach(personaje => {
console.log(personaje.name);
});
};
¿Lograste ver la lista de nombres en la consola? ¡Excelente! Est谩s listo para el siguiente paso. 馃専
¿Tienes preguntas sobre c贸mo funciona la API? ¡Es el momento perfecto para aclararlas!
Comentarios
Publicar un comentario