Skip to content
Latchkey

Axios vs fetch: qual cliente HTTP?

Axios é uma biblioteca HTTP rica em recursos com interceptors e JSON automático; fetch é o primitivo nativo, sem dependências, do browser e do Node.

O Axios oferece conveniências que o fetch não traz de fábrica: parsing automático de JSON, interceptors de request/response, timeouts, progresso de upload e tratamento de erros consistente em respostas não-2xx, ao custo de uma dependência. O fetch é embutido em browsers modernos e no Node, não tem pegada de instalação e suporta streaming, mas exige tratamento manual de JSON e não rejeita em erros HTTP. O Axios ganha em conveniência e recursos; o fetch ganha em zero dependências e natividade de plataforma.

Axiosfetch
DependênciaBiblioteca externaNativo (sem instalação)
JSONAutomáticoManual (.json())
InterceptorsEmbutidosWrappers manuais
Erro em 4xx/5xxRejeitaResolve (verificar ok)
Melhor paraConveniência, interceptorsSem dependências, nativo

Caso de uso e recursos

O Axios se encaixa em apps que querem interceptors, JSON automático, timeouts e tratamento uniforme de erros sem escrever wrappers. O fetch se encaixa em times que minimizam dependências e tamanho de bundle, ou que querem streaming nativo da plataforma, dispostos a adicionar helpers finos para JSON e tratamento de erros.

Testes e CI

Ambos fazem mock de forma limpa com MSW ou nock; o fetch agora é nativo em ambientes de teste do Node. Qualquer um roda em managed runners, onde runners mais rápidos encurtam suítes de integração com HTTP mockado.

O veredito

Quer interceptors, JSON automático e tratamento uniforme de erros: Axios. Quer zero dependências e o fetch nativo da plataforma: a API nativa (opcionalmente com um wrapper fino). O Axios troca uma dependência por conveniência; o fetch troca conveniência por natividade.

Guias relacionados