👉 예시:
import axios from "axios";
axios.get("/api/user")
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error(error);
});
👉 예시:
fetch("/api/user")
.then(response => {
if (!response.ok) {
throw new Error("HTTP Error: " + response.status);
}
return response.json();
})
.then(data => console.log(data))
.catch(err => console.error(err));
| 구분 | Fetch | Axios |
|---|---|---|
| 지원 여부 | 브라우저 기본 제공 | 별도 설치 필요 |
| 응답 처리 | response.json()으로 파싱 필요 |
JSON 자동 파싱 |
| 에러 처리 | HTTP 400/500도 "성공"으로 처리됨 → response.ok 직접 확인 |
HTTP 에러를 자동으로 catch로 전달 |
| 요청 취소 | AbortController 사용해야 함 |
CancelToken 제공 (간단) |
| 기능 확장성 | 단순 요청에 적합 | 인터셉터, 헤더 자동 설정, 응답 변환 등 다양한 기능 |
| 호환성 | 최신 브라우저 중심, 구형 브라우저 지원 어려움 | IE 등 구형 브라우저 지원 가능 |
🔍 정리하자면
- 간단한 요청 → Fetch로도 충분
- 실무/프로젝트 규모가 크다 → Axios 추천
"Fetch는 가볍고 기본적인 요청에 적합하고, Axios는 실무에서 확장성과 편리성을 고려할 때 더 많이 사용된다."