Skip to content

Instantly share code, notes, and snippets.

@rodrigogonn
Created September 10, 2020 23:15
Show Gist options
  • Save rodrigogonn/5c14ee65ef745309da6e6694f49f0b13 to your computer and use it in GitHub Desktop.
Save rodrigogonn/5c14ee65ef745309da6e6694f49f0b13 to your computer and use it in GitHub Desktop.
Usando axios para requisições http

Usando axios para requisições http

Instalação

npm install axios

Para utilizar o axios no código:

var axios = require('axios');

Ou utilizando ESM:

import axios from 'axios';

GET

axios.get('url') // Retorna uma promisse com a resposta

POST

axios.post('url', { firstName: 'Rodrigo', lastName: 'Gonçalves' }) // Retorna uma promisse com a resposta

Requisições em paralelo

Podemos utilizar o axios.all que retorna um array com as resposta de todas as requições na ordem que você colocou.

Exemplo:

axios.all([
  axios.get('https://api.github.com/users/oosasukel'),
  axios.get('https://api.github.com/users/oosasukel/repos')
])
.then((responses) => {
  console.log('User', responses[0].data);
  console.log('Repositories', responses[1].data);
});

Podemos também usar o axios.spread que converte o array para vários argumentos para não termos que usar índices do array para referenciar as respostas, deixando o código menos confuso.

Exemplo:

axios.all([
  axios.get('https://api.github.com/users/oosasukel'),
  axios.get('https://api.github.com/users/oosasukel/repos')
])
.then(axios.spread((userResponse, reposResponse) => {
  console.log('User', userResponse.data);
  console.log('Repositories', reposResponse.data);
}));

Headers customizados

var config = {
  headers: {'X-My-Custom-Header': 'Header-Value'}
};

axios.get('https://api.github.com/users/oosasukel', config);
axios.post('url', { firstName: 'Rodrigo' }, config);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment