¿Qué es Axios?
Axios es un cliente HTTP popular para JavaScript que funciona tanto en el navegador como en el entorno Node.js. Está basado en promesas (Promise) y proporciona una API conveniente para realizar solicitudes HTTP. La biblioteca maneja automáticamente JSON, admite interceptores (interceptors), cancelación de solicitudes y protección contra CSRF.
¿Para qué sirve Axios?
A diferencia del fetch integrado, Axios ofrece una funcionalidad más rica «de fábrica»: transformación automática de datos, barras de progreso para carga, tiempos de espera, reintentos y compatibilidad con navegadores antiguos. Para los desarrolladores de Node.js, es una herramienta indispensable para interactuar con APIs REST, microservicios y servicios externos.
Instalación
Instale la biblioteca mediante npm o yarn:
npm install axiosO para uso global:
npm install -g axiosFunciones principales
- Soporte de todos los métodos HTTP: GET, POST, PUT, DELETE, PATCH y otros.
- Serialización/deserialización automática de JSON.
- Interceptores de solicitudes y respuestas para registro, autenticación y manejo de errores.
- Cancelación de solicitudes mediante AbortController (API moderna) o CancelToken (obsoleto).
- Tiempos de espera y reintentos (a través de complementos o configuración manual).
- Carga de archivos con progreso (mediante
onUploadProgress).
Ejemplo de código en Node.js
const axios = require('axios');
async function getPost(id) { try { const response = await axios.get(`https://jsonplaceholder.typicode.com/posts/${id}`); console.log('Datos:', response.data); } catch (error) { console.error('Error:', error.message); }}
getPost(1);
// Solicitud POST con datosconst newPost = { title: 'Título', body: 'Texto del post', userId: 1,};
axios.post('https://jsonplaceholder.typicode.com/posts', newPost) .then(res => console.log('Creado:', res.data)) .catch(err => console.error('Error:', err));Cuándo usar Axios
Axios es ideal para proyectos que requieren un cliente HTTP confiable con capacidades avanzadas: aplicaciones empresariales, arquitectura de microservicios, integración con APIs externas, así como para casos donde se necesita compatibilidad con versiones antiguas de Node.js (anteriores a la 18.x). Si prefiere soluciones ligeras, considere node-fetch o el fetch integrado en Node.js 18+.
Conclusión
Axios sigue siendo el estándar de facto para solicitudes HTTP en el ecosistema JavaScript. Gracias a su simplicidad, flexibilidad y amplia comunidad, esta biblioteca es adecuada tanto para prototipos rápidos como para grandes sistemas de producción.