Computação Jr.
CodeDex
Base de Conhecimento & Glossário · Code Júnior
Início / Consumo de APIs / Consumindo APIs no Back-End com Laravel (Http Client)
Intermediário

Consumindo APIs no Back-End com Laravel (Http Client)

Use a facade Http do Laravel para integrar serviços externos com timeout, cache e tratamento de erro.

Por que chamar APIs externas pelo Laravel?

Mesmo com APIs públicas como a PokéAPI, ou principalmente quando uma API exige chave secreta, chamar a API pelo back-end com Illuminate\Support\Facades\Http (baseada no Guzzle) permite validar dados, fazer cache e evitar expor credenciais no navegador.

Boas práticas para trainees

  • Sempre defina ->timeout(5) (ou similar) para que uma API externa lenta não trave os workers PHP da sua aplicação.
  • Em APIs privadas, use ->withToken(config('services.api.token')) em vez de concatenar headers manualmente e nunca use env() fora de config/*.php.
  • Cheque $response->successful() ou $response->failed() para tratar falhas com clareza antes de acessar $response->json().
Exemplo Prático
php
use Illuminate\Support\Facades\Http;

$response = Http::acceptJson()
    ->timeout(5)
    ->get('https://pokeapi.co/api/v2/pokemon/pikachu');

if ($response->failed()) {
    return back()->withErrors(['api' => 'PokéAPI indisponível no momento.']);
}

$pokemon = $response->json();
$nome = $pokemon['name'];
$tipos = collect($pokemon['types'])->pluck('type.name');

Teste seus conhecimentos

Esta nota tem 3 perguntas para você praticar.

Ir para o Quiz desta Nota →