Files
2nd/10_Wiki/Topics_Art/API_Communication_Patterns.md
T

27 lines
1.6 KiB
Markdown

---
title: 효율적인 API 통신 패턴 (Axios & Interceptors)
category: Software Architecture
tags: [API, Axios, Interceptor, Error Handling, Network]
created: 2026-04-20
---
# [[API_Communication_Patterns]] (API 통신 패턴)
## 📌 한 줄 통찰 (The Karpathy Summary)
> 서버와의 대화는 항상 '정중하되 의심하며' 처리하라. 모든 요청은 중앙 통제소(Interceptor)를 거치고 모든 에러는 시나리오가 준비되어 있어야 한다.
## 📖 구조화된 지식 (Synthesized Content)
- **Service Layer (서비스 레이어) 추상화**:
- 컴포넌트 내에 `axios` 코드를 기생시키지 마라. `userService.js`, `productApi.js` 처럼 API별로 모듈화하여 컴포넌트는 오직 '함수 호출'만 알게 하라.
- **Axios Interceptors (심사 통로)**:
- 모든 요청에 인증 토큰을 자동으로 붙이거나, 백엔드에서 내려오는 401 에러를 가로채서 자동으로 토큰을 갱신(Silent Refresh)하는 로직을 중앙 집권화한다.
- **Error Scenario Planning**:
- 400(잘못된 요청), 403(권한 없음), 500(서버 죽음) 등 각 에러 코드별로 사용자가 경험할 UI 처리 방침을 미리 약속하라.
## ⚠️ 모순 및 업데이트 (RL Update)
- 모든 통신에 Axios가 정답은 아니다. 브라우저 네이티브인 `fetch`로도 충분한 경우가 많으며, 라이브러리 의존성을 낮추는 것이 가벼운 앱을 만드는 첫걸음일 수 있다.
## 🔗 지식 연결 (Graph)
- Related: [[System_Protocol_Standard]] , [[React_State_Management_Strategy]]
- Foundation: [[Reliability_Safety_First]]