Libreria Gratis Activo

Axios

Para hacer peticiones HTTP a APIs desde el navegador o Node.js con una API sencilla y consistente.

Cliente HTTP basado en promesas para el navegador y Node.js, con interceptores y soporte de TypeScript.

Notas y contexto

Qué es

Axios es un cliente HTTP basado en promesas para el navegador y Node.js, mantenido por el “axios collective” y publicado bajo licencia MIT. En el navegador usa XMLHttpRequest y en Node.js el módulo HTTP nativo, exponiendo la misma API en ambos entornos. Es uno de los clientes HTTP más populares del ecosistema JavaScript y trae sus propias definiciones de tipos para TypeScript.

Para qué sirve

  • Hacer peticiones GET, POST, PUT, DELETE y demás métodos a APIs REST.
  • Serializar y parsear JSON automáticamente sin escribir código repetitivo.
  • Interceptar peticiones y respuestas para añadir cabeceras, tokens o lógica de error de forma centralizada.
  • Cancelar peticiones, aplicar timeouts y seguir el progreso de subidas y descargas.

Cuándo usarlo

Encaja bien cuando necesitas una API uniforme entre navegador y Node.js, o características que el fetch nativo no ofrece de serie, como interceptores, transformación automática de JSON o timeouts integrados. Hoy la alternativa moderna es la API fetch nativa, disponible tanto en navegadores como en Node.js, que cubre la mayoría de casos sin dependencias; opta por Axios cuando esas comodidades adicionales te ahorren código de verdad.

Ejemplo

Instalación con npm:

npm install axios

Uso básico con async/await e interceptores:

import axios from 'axios';

const api = axios.create({
  baseURL: 'https://api.ejemplo.com',
  timeout: 5000,
});

api.interceptors.request.use((config) => {
  config.headers.Authorization = 'Bearer token';
  return config;
});

const { data } = await api.get('/usuarios/1');
console.log(data);

Puntos clave

  • Misma API en navegador y Node.js, con tipos de TypeScript incluidos.
  • Sistema de interceptores para modificar peticiones, respuestas y errores.
  • Transformación automática de JSON y serialización de parámetros y formularios.
  • Cancelación con AbortController, timeouts, protección CSRF y eventos de progreso.

Ten en cuenta

El proyecto está activo y mantenido. Aun así, añade una dependencia y peso al bundle frente al fetch nativo, que ya viene en navegadores modernos y en Node.js: para peticiones simples, fetch suele bastar. Reserva Axios para cuando aproveches sus interceptores, su configuración por instancia o el manejo de errores más detallado.

Volver al directorio
Volver al directorio