Day 37 · 1/5
🌿 중급 백엔드

API 버저닝이 뭔가요?

쉽게 이해하기

식당 메뉴판을 생각해보세요. 새 메뉴를 추가하면서도 단골손님들이 좋아하던 예전 메뉴는 그대로 유지하는 거예요. 어떤 손님은 신메뉴를, 어떤 손님은 구메뉴를 주문할 수 있죠. API 버저닝도 마찬가지로 새 기능을 추가하면서 기존 기능도 계속 제공하는 방식이에요.

핵심 정리

API를 업데이트할 때 기존 사용자를 위해 여러 버전을 함께 제공하는 방식이에요.

자세히 알아보기

API 버저닝은 API를 개선하거나 변경할 때 기존 사용자의 서비스가 중단되지 않도록 여러 버전을 동시에 제공하는 기법이에요. 회사가 API를 제공하면 수많은 개발자들이 그 API를 사용해서 앱을 만드는데, API를 갑자기 바꾸면 모든 앱이 동시에 오류가 날 수 있어요. 실무에서는 보통 URL에 버전 번호를 넣어서 구분해요. 예를 들어 `api.example.com/v1/users`는 버전 1, `api.example.com/v2/users`는 버전 2인 식이죠. 헤더에 버전을 명시하는 방법도 있어요. 트위터, 페이스북, 구글 같은 큰 서비스들은 모두 API 버저닝을 사용하고 있어요. 왜 중요할까요? 만약 여러분이 만든 날씨 앱이 특정 API를 사용하고 있는데, 그 API가 갑자기 구조를 바꾸면 앱이 작동을 멈춰요. 하지만 API 제공자가 v1, v2를 동시에 제공하면 여러분은 여유를 가지고 v2로 마이그레이션할 수 있죠. 보통 구버전은 6개월~1년 정도 유지되다가 지원이 종료돼요. 버저닝을 할 때는 메이저 변경(v1→v2)과 마이너 변경(v2.1→v2.2)을 구분해요. 메이저 변경은 기존 코드가 작동하지 않을 정도의 큰 변화고, 마이너 변경은 기존 코드에 영향을 주지 않는 작은 개선이에요. 실무에서는 '하위 호환성'을 최대한 유지하면서 버전을 관리하는 것이 중요해요.