Básico
Status Codes HTTP na prática
Como interpretar códigos 2xx, 4xx e 5xx para saber se o erro está na sua requisição ou no servidor.
Lendo a resposta da API
Toda resposta HTTP vem acompanhada de um código numérico que resume o resultado da chamada:
2xx — Sucesso
200 OK: requisição atendida com sucesso (ex.:GET https://pokeapi.co/api/v2/pokemon/pikachu).201 Created: novo recurso criado (comum após umPOST).204 No Content: sucesso sem corpo de resposta (comum após umDELETE).
4xx — Erro do Cliente (revise o que você enviou)
400 Bad Request: JSON malformado ou parâmetro inválido.401 Unauthorized: faltou autenticação ou o token expirou.403 Forbidden: você está autenticado, mas não tem permissão para acessar aquilo.404 Not Found: URL/endpoint errado ou registro não encontrado (ex.: buscarpokemon/missingnona PokéAPI).422 Unprocessable Entity: erro de validação (ex.: e-mail inválido ou campo obrigatório vazio).
5xx — Erro do Servidor
500 Internal Server Error/502/503: falha no servidor da API ou serviço temporariamente indisponível.
Exemplo Prático
javascript
async function buscarPokemon(nome) {
const response = await fetch(`https://pokeapi.co/api/v2/pokemon/${nome}`);
if (response.status === 404) {
throw new Error(`Pokémon "${nome}" não encontrado (404).`);
}
if (!response.ok) {
throw new Error(`Falha na API: status ${response.status}`);
}
return response.json();
}