Axios para Principiantes - Guía Paso a Paso
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Axios para Principiantes - Guía Paso a Paso
📚 ¿Qué es Axios?
Axios es como un "mensajero" entre tu aplicación web y un servidor. Imagina que tu app necesita pedir información (como una lista de películas) a un servidor en internet - Axios se encarga de enviar esa "carta" y traer la "respuesta".
🎯 ¿Por qué usar Axios? (Para principiantes)
Sin Axios:
Tu App → "Oye servidor, dame películas" ❌ (no sabe cómo comunicarse)Con Axios:
Tu App → Axios → "GET /películas" → Servidor → ✓ Películas recibidas ✅Ventajas:
Más fácil que el método nativo de JavaScript (fetch)
Mejor manejo de errores
Funciona en todos los navegadores
Soporte para promesas (async/await)
🚀 PASO 1: INSTALACIÓN (La Parte Fácil)
¿Qué es NPM?
NPM es como una "tienda de aplicaciones" para programadores. En lugar de ir a una tienda, escribes comandos en la terminal.
Pasos concretos:
Abre la terminal (Command Prompt, Terminal, o la terminal de VS Code)
Asegúrate de estar en tu carpeta del proyecto:
bashcd ruta/de/tu/proyectoEscribe exactamente esto y presiona Enter:
bashnpm install axiosVerás algo como esto:
text+ axios@1.6.0 added 1 package in 2s✅ ¡Listo! Axios está instalado.
📁 PASO 2: ENTENDER LA ESTRUCTURA
Tu proyecto debería verse así:
tu-proyecto/
├── node_modules/ (📦 Aquí vive Axios - NO LA TOQUES)
├── src/
│ ├── services/ (👨💻 Aquí crearemos nuestros archivos)
│ │ ├── http-common.js (📋 Configuración general)
│ │ └── movieService.js (🎬 Servicio de películas)
│ └── ... otros archivos ...
├── package.json (📄 Lista de paquetes instalados)
└── ...🔧 PASO 3: CONFIGURACIÓN PASO A PASO
Archivo 1: http-common.js (El "manual de instrucciones")
// PASO 1: Importar Axios (como traer una herramienta)
import axios from 'axios';
// PASO 2: Crear y configurar tu "mensajero personalizado"
const http = axios.create({
// DIRECCIÓN del servidor
baseURL: 'http://localhost:8000/api/',
// FORMATO de los mensajes (siempre JSON)
headers: {
'Content-Type': 'application/json'
}
});
// PASO 3: Exportar para poder usarlo en otros archivos
export default http;📖 Traducción a español cotidiano:
"Crea un mensajero llamado
httpque siempre vaya a la direcciónhttp://localhost:8000/api/y que todos sus mensajes sean en formato JSON."
🎬 PASO 4: CREAR EL SERVICIO DE PELÍCULAS
Archivo 2: movieService.js (El "menú de opciones")
// PASO 1: Traer nuestro mensajero configurado
import http from './http-common';
// PASO 2: Crear todas las funciones que necesitamos
class MovieService {
// Función 1: OBTENER TODAS las películas
getAll() {
return http.get('/movies');
// Traducción: "Mensajero, ve a buscar las películas"
}
// Función 2: OBTENER UNA película por su ID
getById(id) {
return http.get(`/movies/${id}`);
// Traducción: "Busca la película con número ${id}"
// Ejemplo: Si id=5 → "/movies/5"
}
// Función 3: CREAR nueva película
create(movieData) {
return http.post('/movies', movieData);
// Traducción: "Envía estos datos para crear película nueva"
}
// Función 4: ACTUALIZAR película
update(id, movieData) {
return http.put(`/movies/${id}`, movieData);
// Traducción: "Actualiza la película ${id} con estos nuevos datos"
}
// Función 5: ELIMINAR película
delete(id) {
return http.delete(`/movies/${id}`);
// Traducción: "Elimina la película número ${id}"
}
}
// PASO 3: Crear y exportar una "caja de herramientas"
export default new MovieService();💡 PASO 5: ¿CÓMO USARLO EN MI APP?
Ejemplo práctico en un componente:
// 1. Importar el servicio (traer la caja de herramientas)
import movieService from './services/movieService';
// 2. Crear una función para obtener películas
async function cargarPeliculas() {
try {
console.log("⏳ Buscando películas...");
// PEDIR las películas al servidor
const respuesta = await movieService.getAll();
// respuesta.data contiene las películas
console.log("✅ Películas recibidas:", respuesta.data);
console.log("📊 Total de películas:", respuesta.data.length);
return respuesta.data;
} catch (error) {
console.log("❌ ¡Ups! Error al cargar películas:", error.message);
console.log("💡 Consejo: Verifica que el servidor esté encendido");
return [];
}
}
// 3. Usar la función
cargarPeliculas();🎮 ANALOGÍA COMPLETA (Para entender mejor)
Imagina que eres el dueño de una videotienda:
npm install axios= Contratar a un mensajero (Axios)http-common.js= Darle al mensajero:📍 Dirección de la bodega (
baseURL)📄 Formato de los pedidos (
headers)
movieService.js= Crear un catálogo de servicios:"Pedir todas las películas" (
getAll())"Buscar película por código" (
getById(id))"Agregar nueva película" (
create(data))
Usar el servicio = Llamar al mensajero cuando necesites algo
🚨 ERRORES COMUNES DE PRINCIPIANTES
Error 1: "No encuentro el módulo"
✅ Solución: Asegúrate de que la ruta sea correcta
// MAL
import http from '../http-common'; // ❌
// BIEN (si está en la misma carpeta)
import http from './http-common'; // ✅Error 2: "El servidor no responde"
✅ Verifica:
¿El servidor está encendido? (
http://localhost:8000)¿La URL es correcta?
¿Hay error de CORS? (usa un proxy si es necesario)
Error 3: "No se actualizan los datos"
✅ Recuerda usar await:
// MAL (no espera respuesta)
const peliculas = movieService.getAll(); // ❌
// BIEN (espera la respuesta)
const peliculas = await movieService.getAll(); // ✅🛠️ EJERCICIO PRÁCTICO
Crea estos archivos en tu proyecto:
textsrc/ └── services/ ├── http-common.js └── movieService.jsCopia el código de arriba en cada archivo
En tu componente principal, añade:
javascriptimport movieService from './services/movieService'; // Prueba simple movieService.getAll() .then(respuesta => console.log("Funciona!", respuesta.data)) .catch(error => console.log("Error:", error));Ejecuta tu app y revisa la consola del navegador (F12)
✅ CHECKLIST DE COMPLETADO
Instalé Axios con
npm install axiosCreé la carpeta
services/Creé
http-common.jscon la configuraciónCreé
movieService.jscon los 5 métodosImporté el servicio en mi componente
Probé hacer una petición GET
Manejé errores con try-catch
📖 RESUMEN EN 1 MINUTO
Axios = Mensajero para hablar con servidores
Instalar =
npm install axiosen la terminalConfigurar = Crear
http-common.jscon URL baseServicio = Crear funciones en
movieService.jsUsar = Importar y llamar
await movieService.getAll()Manejar errores = Siempre usar try-catch
❓ ¿QUÉ SIGUE?
Una vez que domines esto, puedes aprender:
Autenticación (agregar tokens a las peticiones)
Interceptores (modificar todas las peticiones automáticamente)
Gestión de estado (usar con Redux o Context API)
¿Tienes alguna duda específica sobre algún paso? ¡Pregunta! Cada programador empezó desde cero 😊
- Obtener vínculo
- X
- Correo electrónico
- Otras apps
Comentarios
Publicar un comentario