12k
All articles

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

Exemplos práticos mostram como enviar requisições GET e POST com Axios no Node.js, tratar respostas estruturadas e gerenciar erros com segurança.

OpenReplay Team
OpenReplay Team
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

O Axios pode ser usado tanto no Node.js quanto em ambientes de navegador?

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

Como o Axios lida com dados JSON?

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

É possível definir cabeçalhos personalizados com o Axios?

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

We use cookies to improve your experience. By using our site, you accept cookies.