Page cover

9.3 - Consumindo uma API (GET)

O método GET é utilizado para recuperar dados do servidor sem alterar seu estado. Ele é considerado um método seguro e idempotente, pois não causa efeitos colaterais mesmo que seja chamado repetidamente. Usado principalmente para consultas, como buscar informações de usuários, produtos ou qualquer outro recurso, o GET transmite os dados pela URL, geralmente por meio de parâmetros de consulta. É o método mais comum em navegação na web e em chamadas de leitura em APIs.

📥 Exemplo de estrutura GET — Buscar Dados

fetch('https://api.exemplo.com/usuarios')
  .then(response => response.json())
  .then(data => console.log('Usuários:', data))
  .catch(error => console.error('Erro no GET:', error));
☝️🤓 Explicação do exemplo GET
  • fetch('https://api.exemplo.com/usuarios') → Faz uma requisição GET para o endpoint especificado (por padrão, fetch usa GET).

  • .then(response => response.json()) → Quando a resposta chegar, converte o corpo da resposta para JSON.

  • .then(data => console.log('Usuários:', data)) → Quando o JSON estiver pronto, exibe os dados no console.

  • .catch(error => console.error('Erro no GET:', error)); → Se der erro em qualquer parte da requisição, exibe o erro no console.

Exemplo prático

Neste exemplo prático, irei mostrar como consumir uma API na realidade. A API que irá ser consumida é a BrasilAPI, disponível no link https://brasilapi.com.br/docs#tag/CEP.

1

Primeiro passo: Ler a documentação da API

A primeira coisa a se fazer é ler a documentação da API, lá você descobrirá os parâmetros que devem ser passados no endpoint, e os parâmetros que serão recebidos.

Observe que existe uma descrição falando o que essa endpoit faz, que é

"Busca por CEP com múltiplos providers de fallback"

Significa que a BrasilAPI tenta buscar o CEP em mais de uma fonte de dados (provider). Se a primeira fonte não encontrar o CEP, ela tenta em outras, automaticamente.

Note, também, que existe o PATH PARAMETERS, que indica quais são os parâmetros que o endpoint precisa.

2

Respostas

Na documentação, também é possível observar as possíveis respostas que podemos obter ao consumir esse endpoint:

3

Consumindo a API

const cep = '01001-000'; // Exemplo: Praça da Sé - SP
const endpoint =  `https://brasilapi.com.br/api/cep/v1/${cep}`
fetch(endpoint)
  .then(response => {
    if (!response.ok) {
      throw new Error('CEP não encontrado');
    }
    return response.json();
  })
  .then(data => {
    console.log('Endereço encontrado:', data);
  })
  .catch(error => {
    console.error('Erro na requisição:', error.message);
  });

Resposta que esperamos:

{
  "cep": "01001-000",
  "state": "SP",
  "city": "São Paulo",
  "neighborhood": "Sé",
  "street": "Praça da Sé",
  "service": "correios"
}

⚠️ Exemplo do código com async/await

const cep = '01001-000'; // Exemplo: Praça da Sé - SP
const endpoint = `https://brasilapi.com.br/api/cep/v1/${cep}`;

async function buscarCep() {
  try {
    const response = await fetch(endpoint);

    if (!response.ok) {
      throw new Error('CEP não encontrado');
    }

    const data = await response.json();
    console.log('Endereço encontrado:', data);
  } catch (error) {
    console.error('Erro na requisição:', error.message);
  }
}

buscarCep();

A função buscarCep faz uma requisição GET para buscar os dados de um CEP usando a brasilapi. Se a resposta não for OK, lança um erro. Caso contrário, converte a resposta em JSON e exibe no console o endereço encontrado. Se algo der errado, o erro é tratado no catch e exibido com a mensagem de erro.

Last updated