Back

Cómo usar Axios en Node.js (con ejemplos de código)

Cómo usar Axios en Node.js (con ejemplos de código)

Axios es un cliente HTTP basado en promesas que simplifica la realización de solicitudes HTTP en Node.js. Agiliza tareas como enviar solicitudes GET y POST, manejar respuestas y gestionar errores. En esta guía, exploraremos cómo usar Axios en Node.js con ejemplos prácticos de código.

Puntos clave

  • Axios proporciona una API simple para realizar solicitudes HTTP en Node.js.
  • Utiliza promesas para un código asincrónico más limpio.
  • Ofrece mecanismos sencillos para manejar diversos escenarios de error.

Configuración de Axios en Node.js

Para comenzar a usar Axios en tu proyecto de Node.js:

  1. Inicializa tu proyecto (si aún no lo has hecho):

    npm init -y
    
  2. Instala Axios:

    npm install axios
    
  3. Requiere Axios en tu aplicación:

    const axios = require('axios');
    

Realizando solicitudes GET

Una solicitud GET recupera datos de un endpoint especificado. Aquí te mostramos cómo realizar una solicitud GET usando Axios:

const axios = require('axios');

async function fetchData() {
  try {
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
    console.log(response.data);
  } catch (error) {
    console.error('Error al obtener los datos:', error);
  }
}

fetchData();

Explicación:

  • Define una función asincrónica fetchData.
  • Utiliza await para realizar una solicitud GET con Axios.
  • Registra los datos de la respuesta en la consola.
  • Maneja los errores usando try...catch.

Realizando solicitudes POST

Una solicitud POST envía datos a un servidor para crear un nuevo recurso. Aquí te mostramos cómo realizar una solicitud POST:

const axios = require('axios');

async function createPost() {
  try {
    const response = await axios.post('https://jsonplaceholder.typicode.com/posts', {
      title: 'Nuevo Post',
      body: 'Este es el contenido del nuevo post.',
      userId: 1,
    });
    console.log('Post creado:', response.data);
  } catch (error) {
    console.error('Error al crear el post:', error);
  }
}

createPost();

Explicación:

  • Define una función asincrónica createPost.
  • Utiliza await con axios.post(), pasando el endpoint y el objeto de datos.
  • Registra el post recién creado.
  • Maneja los errores adecuadamente.

Manejo de respuestas y errores

Axios proporciona una forma estructurada de manejar respuestas y errores. El objeto de respuesta incluye propiedades como data, status y headers.

Aquí te mostramos cómo manejar diferentes tipos de errores:

const axios = require('axios');

async function fetchData() {
  try {
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
    console.log('Datos:', response.data);
    console.log('Estado:', response.status);
  } catch (error) {
    if (error.response) {
      // El servidor respondió con un código de estado fuera de 2xx
      console.error('Datos del error:', error.response.data);
      console.error('Estado del error:', error.response.status);
    } else if (error.request) {
      // No se recibió respuesta
      console.error('No se recibió respuesta:', error.request);
    } else {
      // Error al configurar la solicitud
      console.error('Error:', error.message);
    }
  }
}

fetchData();

Explicación:

  • Registra los datos y el estado de la respuesta cuando es exitosa.
  • Diferencia entre:
    • Errores con respuestas (error.response)
    • Errores sin respuesta (error.request)
    • Otros errores relacionados con Axios (error.message)

Preguntas frecuentes

Sí, Axios es isomórfico y puede ejecutarse en ambos entornos.

Axios transforma automáticamente los datos JSON tanto para solicitudes como para respuestas, eliminando la necesidad de análisis manual.

Sí, puedes establecer encabezados personalizados pasando un objeto `headers` en la configuración de la solicitud.

Conclusión

Axios simplifica las solicitudes HTTP en Node.js, ofreciendo una API limpia y concisa. Su soporte para promesas permite un manejo eficiente de operaciones asincrónicas. Al comprender cómo realizar solicitudes GET y POST y manejar respuestas y errores, puedes integrar Axios de manera efectiva en tus aplicaciones Node.js.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers