Back

Como Usar o Axios no Node.js (Com Exemplos de Código)

Como Usar o Axios no Node.js (Com Exemplos de Código)

O Axios é um cliente HTTP baseado em promises que simplifica a realização de requisições HTTP no Node.js. Ele otimiza tarefas como envio de requisições GET e POST, manipulação de respostas e gerenciamento de erros. Neste guia, exploraremos como usar o Axios no Node.js com exemplos práticos de código.

Principais Pontos

  • O Axios fornece uma API simples para fazer requisições HTTP no Node.js.
  • Utiliza promises para um código assíncrono mais limpo.
  • Oferece mecanismos diretos para lidar com diversos cenários de erro.

Configurando o Axios no Node.js

Para começar com o Axios em seu projeto Node.js:

  1. Inicialize seu projeto (se ainda não o fez):

    npm init -y
    
  2. Instale o Axios:

    npm install axios
    
  3. Importe o Axios em sua aplicação:

    const axios = require('axios');
    

Fazendo Requisições GET

Uma requisição GET recupera dados de um endpoint específico. Veja como realizar uma requisição 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('Erro ao buscar dados:', error);
  }
}

fetchData();

Explicação:

  • Define uma função assíncrona fetchData.
  • Usa await para fazer uma requisição GET com Axios.
  • Registra os dados da resposta no console.
  • Trata erros usando try...catch.

Fazendo Requisições POST

Uma requisição POST envia dados para um servidor para criar um novo recurso. Veja como realizar uma requisição POST:

const axios = require('axios');

async function createPost() {
  try {
    const response = await axios.post('https://jsonplaceholder.typicode.com/posts', {
      title: 'Nova Postagem',
      body: 'Este é o conteúdo da nova postagem.',
      userId: 1,
    });
    console.log('Post criado:', response.data);
  } catch (error) {
    console.error('Erro ao criar post:', error);
  }
}

createPost();

Explicação:

  • Define uma função assíncrona createPost.
  • Usa await com axios.post(), passando o endpoint e o objeto de dados.
  • Registra o post recém-criado.
  • Trata erros adequadamente.

Manipulando Respostas e Erros

O Axios fornece uma maneira estruturada de lidar com respostas e erros. O objeto de resposta inclui propriedades como data, status e headers.

Veja como lidar com diferentes tipos de erros:

const axios = require('axios');

async function fetchData() {
  try {
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts/1');
    console.log('Dados:', response.data);
    console.log('Status:', response.status);
  } catch (error) {
    if (error.response) {
      // Servidor respondeu com código de status fora do intervalo 2xx
      console.error('Dados do erro:', error.response.data);
      console.error('Status do erro:', error.response.status);
    } else if (error.request) {
      // Nenhuma resposta recebida
      console.error('Nenhuma resposta recebida:', error.request);
    } else {
      // Erro na configuração da requisição
      console.error('Erro:', error.message);
    }
  }
}

fetchData();

Explicação:

  • Registra dados e status da resposta quando bem-sucedida.
  • Diferencia entre:
    • Erros com respostas (error.response)
    • Erros sem resposta (error.request)
    • Outros erros relacionados ao Axios (error.message)

Perguntas Frequentes

Sim, o Axios é isomórfico e pode ser executado em ambos os ambientes.

O Axios transforma automaticamente dados JSON tanto para requisições quanto para respostas, eliminando a necessidade de análise manual.

Sim, você pode definir cabeçalhos personalizados passando um objeto `headers` na configuração da requisição.

Conclusão

O Axios simplifica requisições HTTP no Node.js, oferecendo uma API limpa e concisa. Seu suporte a promises permite um tratamento eficiente de operações assíncronas. Ao compreender como realizar requisições GET e POST e manipular respostas e erros, você pode integrar efetivamente o Axios em suas aplicações Node.js.

Listen to your bugs 🧘, with OpenReplay

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