🌿 중급 백엔드
API 버전은 왜 나누나요?
쉽게 이해하기
휴대폰 앱을 업데이트하지 않아도 계속 쓸 수 있는 것처럼요. 만약 카카오톡이 새 버전에서 메시지 형식을 바꾸는데 구버전 앱은 안 된다면? 모든 사용자가 동시에 업데이트할 때까지 메시지를 못 보내는 불편함이 생겨요. API 버전을 나누면 구버전 앱도 계속 작동해요.
핵심 정리
이전 버전 사용자도 계속 쓸 수 있게 하려면 API 버전 관리가 필요해요
자세히 알아보기
API 버전 관리는 API 구조를 바꾸면서도 기존 사용자에게 영향을 주지 않기 위한 방법이에요. 보통 URL에 v1, v2처럼 버전 번호를 넣어서 구분해요. 예를 들어 `/api/v1/users`와 `/api/v2/users`는 서로 다른 형식으로 동작할 수 있어요.
왜 필요할까요? 실무에서 API는 여러 클라이언트가 동시에 사용해요. 모바일 앱, 웹사이트, 파트너사 시스템 등이요. 만약 API를 갑자기 바꾸면 이 모든 클라이언트가 동시에 업데이트해야 해요. 하지만 사용자는 앱을 언제 업데이트할지 모르고, 파트너사는 개발에 몇 주가 걸릴 수도 있어요. 그래서 구버전 API를 당분간 유지하면서 새 버전을 병행해요.
예를 들어 사용자 정보 API에서 `name` 필드를 `firstName`과 `lastName`으로 분리하기로 했다면, v1은 그대로 두고 v2에서만 새 형식을 적용해요. 구버전 앱은 v1을 계속 호출하고, 신버전 앱은 v2를 사용해요. 일정 기간(보통 6개월~1년) 후 v1 사용자가 충분히 줄어들면 v1을 종료(Deprecate)한다고 미리 공지해요.
주의할 점은 너무 많은 버전을 동시에 유지하면 관리가 복잡해져요. 보통 최신 버전과 직전 버전 정도만 지원하고, 이전 버전은 점진적으로 종료해요.