Back

Como Fazer Requisições GET com Axios: Um Guia para Iniciantes

Como Fazer Requisições GET com Axios: Um Guia para Iniciantes

Ao construir aplicações web, buscar dados de uma API é uma tarefa comum. Desenvolvedores JavaScript frequentemente começam com o método integrado fetch(), mas logo encontram problemas—como analisar manualmente respostas JSON e lidar com erros de forma complicada. O Axios simplifica a realização de requisições HTTP, especialmente requisições GET, oferecendo análise automática de JSON, melhor tratamento de erros e personalização mais fácil de requisições.

Principais Pontos

  • Axios é um cliente HTTP baseado em promessas para navegadores e Node.js.
  • Ele processa automaticamente a análise de JSON e simplifica o tratamento de erros.
  • Você pode facilmente definir parâmetros de consulta, cabeçalhos e usar async/await com Axios.
  • Axios simplifica o gerenciamento de múltiplas requisições GET simultâneas.

O que é Axios?

Axios é uma biblioteca JavaScript popular para fazer requisições HTTP em navegadores e Node.js. Diferentemente do fetch() integrado, o Axios analisa automaticamente respostas JSON, trata erros HTTP de forma consistente e suporta recursos convenientes de requisição como cancelamento e timeouts.

Instalando o Axios

Você pode instalar o Axios usando npm, Yarn, ou incluí-lo via CDN:

npm

npm install axios

Yarn

yarn add axios

CDN

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

Importe o Axios em seu projeto:

import axios from 'axios';
// ou
const axios = require('axios');

Fazendo uma Requisição GET Básica

Veja como você pode facilmente fazer uma requisição GET básica:

axios.get('https://jsonplaceholder.typicode.com/todos/1')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    console.error(error);
  });

O Axios lida com a busca e análise de respostas JSON automaticamente.

Manipulando Dados de Resposta

Com o Axios, você não precisa de etapas extras de análise. A resposta retornada contém uma propriedade data, já no formato de objeto JavaScript:

axios.get('https://jsonplaceholder.typicode.com/todos/1')
  .then(res => {
    console.log(res.data.title);  // Imprime o título da resposta
  });

Tratamento de Erros em Requisições GET do Axios

O Axios lida com erros de forma intuitiva, capturando problemas de HTTP e de rede. Veja como você pode gerenciar esses erros claramente:

axios.get('https://jsonplaceholder.typicode.com/invalid-url')
  .then(response => {
    console.log(response.data);
  })
  .catch(error => {
    if (error.response) {
      console.error('Erro HTTP:', error.response.status);
    } else if (error.request) {
      console.error('Sem resposta:', error.request);
    } else {
      console.error('Erro na configuração da requisição:', error.message);
    }
  });

Usando Parâmetros de Consulta em Requisições GET do Axios

Enviar parâmetros de consulta com Axios é fácil:

axios.get('https://jsonplaceholder.typicode.com/posts', {
  params: { userId: 1 }
})
.then(response => {
  console.log(response.data);
});

O Axios formata automaticamente esses parâmetros em uma string de consulta.

Usando Async/Await com Axios

A sintaxe Async/Await torna as requisições Axios mais legíveis:

async function fetchPosts() {
  try {
    const response = await axios.get('https://jsonplaceholder.typicode.com/posts');
    console.log(response.data);
  } catch (error) {
    console.error('Erro:', error);
  }
}

fetchPosts();

Isso torna seu código mais simples e limpo.

Definindo Cabeçalhos em Requisições GET do Axios

Você pode definir cabeçalhos (como tokens de autenticação) facilmente:

axios.get('https://api.example.com/data', {
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN'
  }
})
.then(response => {
  console.log(response.data);
});

Isso permite incluir cabeçalhos personalizados sem esforço.

Fazendo Múltiplas Requisições GET com Axios

Se você precisa de várias requisições ao mesmo tempo, o Axios simplifica isso:

const request1 = axios.get('https://jsonplaceholder.typicode.com/posts');
const request2 = axios.get('https://jsonplaceholder.typicode.com/users');

axios.all([request1, request2])
  .then(([posts, users]) => {
    console.log('Posts:', posts.data);
    console.log('Usuários:', users.data);
  })
  .catch(error => {
    console.error('Erro:', error);
  });

O tratamento de requisições simultâneas do Axios mantém seu código eficiente.

Conclusão

O Axios simplifica requisições HTTP GET em JavaScript, eliminando tarefas tediosas como análise de JSON e tratamento complicado de erros. Seja enviando requisições simples, usando parâmetros de consulta, cabeçalhos personalizados ou fazendo múltiplas requisições concorrentes, o Axios ajuda você a escrever código mais limpo e mais fácil de manter.

Perguntas Frequentes

Sim, o Axios funciona perfeitamente tanto em ambientes Node.js quanto em navegadores.

O Axios fornece análise automática de JSON, melhor tratamento de erros e recursos adicionais como cancelamento de requisição, enquanto o Fetch é minimalista e integrado aos navegadores.

Sim, o Axios suporta POST, PUT, DELETE e todos os métodos HTTP padrão.

Listen to your bugs 🧘, with OpenReplay

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