👩🏻‍💻 Develop/Document

[설계 문서] Axios 1.8.4 선정 이유

dev.daisy 2025. 10. 7. 13:57
서비스 구조에서 REST API 통신이 많고, 안정적이며 확장성 있는 네트워크 처리가 필요했기 때문에 Axios를 선정하게 되었습니다. 특히 Axios 1.8.4를 도입하면서, 안정적이고 체계적인 API 통신 구조가 얼마나 개발 생산성과 유지보수에 큰 영향을 주는지 실감했습니다. 인터셉터와 공통 설정을 활용하니 반복적인 요청 처리와 에러 핸들링이 훨씬 간단해졌고, 코드 가독성도 크게 향상되었습니다. 이전에는 fetch로 개별 처리하던 로직이 Axios로 통합되면서 중복 코드가 줄고 일관성이 생긴 점이 특히 인상적이었습니다.

또한 Tanstack Query, Zustand와 함께 사용하며 상태 관리와 비동기 통신을 자연스럽게 연결한 경험으로 복잡한 서비스 구조에서도 안정성을 유지할 수 있다는 자신감을 얻게 되었습니다. 이번 경험을 통해 HTTP 클라이언트 선택이 단순한 라이브러리 결정이 아니라, 전체 아키텍처 효율과 유지보수성에 직결된다는 점을 배웠고, 앞으로도 명확한 근거를 가지고 기술을 선택하는 개발자가 되려고 합니다.

Axios 1.8.4

6-1. 선정 이유

  • Axios는 가장 널리 사용되는 HTTP 클라이언트 중 하나로, REST API와의 통신이 많은 서비스 구조에서 안정적이고 확장성 높은 네트워크 처리를 지원합니다.
  • Fetch API 대비 더 간결하고 직관적인 문법과 함께, interceptor 기반의 요청/응답 전처리, 기본 설정 통일(baseURL, headers), 자동 JSON 변환 등의 기능을 통해 API 통신 구조를 체계화할 수 있습니다.
  • 튜닝 서비스는 매칭, 채팅, 피드 등의 다양한 비동기 통신이 필요하고 사용자 인증이나 에러 핸들링을 일관되게 처리해야 하기 때문에 Axios를 통한 통합된 요청 처리 구조가 적합합니다.

6-2. 다른 라이브러리와 비교

항목 Axios ⭐️ Fetch (Native) Ky
요청 설정 baseURL, 공통 headers 설정 가능 매 요청마다 직접 설정 필요 설정 간단
요청 / 응답 인터셉터 지원 없음 제한적
자동 JSON 변환 지원 수동 처리 필요 기본 지원
응답 형식 일관성 res.data로 직접 접근 res.json 호출 필요 구조적
에러 처리 try/catch + interceptor로 통합 수동 처리 필요 제한적
호환성 React Query, Zustand 등과 잘 연동됨 기본 제공 일부 호환 제한 있음


Axios는 구조화된 API 통신과 에러 / 토큰 관리가 중요한 서비스에서 더 안정적이고 유지보수가 용이합니다. 정말 많이 사용되는 HTTP 통신 라이브러리이기도 하고, 제일 익숙하며 안정적인 기술스택으로 판단되어 선정하게 되었습니다.


6-3. 버전 선택 – Axios v1.8.4

항목 1.6.8 1.8.4 ⭐️
주요 업데이트 보안 및 일부 기능 개선 Axios 인스턴스 자동화 개선, CancelToken 개선, 에러 처리 유형 확대
React Query 호환성 O O
안정성 안정적 공식적인 최신 안정 버전


v1.8.4는 2025년 4월 기준 최신 안정 버전으로, Axios 내부 모듈 정비 및 최신 JS 문법 최적화가 반영되어 있어 성능, 안정성, 유지보수, 라이브러리 호환성 모두에서 최적의 선택입니다. 특히 React Query, Zustand와 함께 사용할 때도 공식 문서 기준으로 완전히 호환되며, 비동기 API 통신이 핵심인 우리 서비스 구조에 가장 잘 맞는 버전입니다.