Axios para JavaScript (Node.js): guia completo com exemplos

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

O que é Axios e para que serve?

\n\n

Axios é uma biblioteca JavaScript poderosa e popular para realizar requisições HTTP. Ela funciona tanto no navegador quanto no ambiente Node.js, fornecendo uma API unificada e conveniente baseada em Promise. Se você precisa enviar uma requisição GET para uma API, carregar dados no servidor via POST ou processar uma resposta no formato JSON — o Axios lida com isso de forma elegante e eficiente.

\n\n

Por que usar Axios em vez do fetch nativo ou XMLHttpRequest?

\n
    \n
  • Processamento automático de JSON: Axios converte automaticamente as respostas para JSON, eliminando a necessidade de chamar response.json().
  • \n
  • Interceptadores (Interceptors): Você pode adicionar facilmente lógica global para todas as requisições (ex.: tokens de autenticação) ou respostas (ex.: tratamento de erros).
  • \n
  • Cancelamento de requisições: Suporte nativo para cancelamento de requisições através de AbortController.
  • \n
  • Proteção contra CSRF: Trabalho automático com tokens XSRF para aumentar a segurança.
  • \n
  • Progresso de upload: Possibilidade de monitorar o progresso de envio e recebimento de dados.
  • \n
  • Tratamento conveniente de erros: Mensagens de erro mais informativas e facilidade para distinguir status de respostas.
  • \n
  • Suporte a navegadores antigos: Ao contrário do fetch, Axios funciona no Internet Explorer 11 e outros navegadores desatualizados.
  • \n
\n\n

Instalação

\n\n

A instalação do Axios em um projeto Node.js ou projeto front-end (via npm/yarn/pnpm) é feita com um único comando:

\n\n
# Instalação via npm (recomendado)\nnpm install axios\n\n# Instalação via yarn\nyarn add axios\n\n# Instalação via pnpm\npnpm add axios\n
\n\n

Para uso no navegador, você também pode incluir o Axios via CDN:

\n\n
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>\n
\n\n

Início rápido

\n\n

Após a instalação, você pode começar a fazer requisições imediatamente. Aqui está um exemplo simples de requisição GET para uma API pública:

\n\n
// Importa a biblioteca (para Node.js ou projetos modulares)\nimport axios from 'axios';\n\n// Faz uma requisição GET para a API JSONPlaceholder\naxios.get('https://jsonplaceholder.typicode.com/posts/1')\n  .then(response => {\n    console.log('Status da resposta:', response.status);\n    console.log('Dados:', response.data);\n  })\n  .catch(error => {\n    console.error('Erro na requisição:', error.message);\n  });\n
\n\n

Este código enviará uma requisição GET, receberá a resposta e exibirá seu status e corpo (que já foi automaticamente convertido de JSON para um objeto JavaScript).

\n\n

Métodos e funções principais

\n\n

Axios fornece métodos wrapper convenientes para todos os métodos HTTP principais. Cada um deles retorna uma Promise.

\n\n

1. axios.get(url, config?)

\n

O que faz: Executa uma requisição HTTP GET para obter dados do servidor.

\n

Parâmetros:

\n
    \n
  • url (string) — URL da requisição.
  • \n
  • config (object, opcional) — Objeto de configuração do Axios (ex.: headers, params para query-string, timeout).
  • \n
\n

Exemplo:

\n
// Requisição com parâmetros de query\naxios.get('https://api.example.com/users', {\n  params: {\n    page: 2,\n    limit: 10\n  },\n  headers: {\n    'Authorization': 'Bearer my-token'\n  }\n})\n.then(response => {\n  console.log(response.data);\n});\n
\n\n

2. axios.post(url, data?, config?)

\n

O que faz: Executa uma requisição HTTP POST para enviar dados ao servidor (geralmente para criar um novo recurso).

\n<

Recommendations