httpie¶
O que é¶
Cliente HTTP com sintaxe amigável para humanos, excelente para debug de APIs REST/JSON no terminal, com saída colorida e estrutura legível.
Para que serve¶
- Testar rapidamente endpoints JSON sem montar comandos longos.
- Visualizar request/response (headers + body) de forma clara.
- Validar contratos de API (campos obrigatórios, status, erro de validação).
- Simular chamadas autenticadas com Bearer token.
- Produzir exemplos reproduzíveis para documentação e incidentes.
Quando usar¶
- Debug funcional de API (payload, validação, serialização).
- Triagem de incidentes 4xx/5xx com foco na resposta da aplicação.
- Integração entre squads: compartilhar comando curto e legível.
- Ambientes de desenvolvimento e homologação com alta iteração.
- Investigar comportamento de endpoint sem ruído de ferramentas GUI.
Exemplos de uso¶
# 1) GET simples
http GET https://api.exemplo.com/v1/health
# 2) POST JSON (HTTPie monta JSON automaticamente com :=)
http POST https://api.exemplo.com/v1/orders customer_id:=123 total:=89.9 currency=BRL
# 3) Autenticação Bearer
http GET https://api.exemplo.com/v1/me Authorization:'Bearer <TOKEN>'
# 4) Mostrar request e response completos
http -v POST https://api.exemplo.com/v1/orders customer_id:=123 total:=89.9
# 5) Apenas headers (sem body)
http --headers https://api.exemplo.com/v1/orders
Exemplo de saída¶
$ http POST https://api.exemplo.com/v1/orders customer_id:=123 total:=89.9
HTTP/1.1 201 Created
Content-Type: application/json
X-Request-Id: 6f1d8...
{
"id": "ord_9f2...",
"status": "created",
"customer_id": 123,
"total": 89.9
}
Leitura rápida:
201 Created: fluxo nominal de criação.X-Request-Id: correlaciona com logs/traces no backend.- Campos faltando/formatados errado: possível quebra de contrato.
Dicas de troubleshooting¶
- Use
-vpara enxergar exatamente o que foi enviado (request) e recebido (response). - Se receber
415 Unsupported Media Type, valideContent-Typee formato do body. - Se retornar
422, compare payload com schema esperado (tipos com:=vs string com=). - Em
401/403, revise token, escopos e clock skew (tokens expirados). - Para casos intermitentes, repita a chamada e capture
X-Request-Idde cada tentativa.
Flags importantes¶
-v/--verbose: request + response completas.--headers: exibe apenas headers.--body: exibe apenas body.--print=HhBb: controla partes impressas (request/response).--timeout=<seg>: timeout da requisição.--follow: segue redirects.--verify=no: desativa verificação TLS (somente diagnóstico controlado).--form: envia dados como formulário (multipart/form-data).
Boas práticas¶
- Em exemplos de equipe, prefira HTTPie para comandos didáticos e fáceis de revisar.
- Use
:=para números/booleanos/JSON e=para strings, evitando bugs de tipo. - Nunca compartilhe comandos com token real em chats/tickets.
- Padronize uso de
X-Request-Idpara acelerar investigação com observabilidade. - Versione exemplos críticos de API junto da documentação interna.
Referências¶
- Manual:
man http - Docs oficiais: https://httpie.io/docs/cli