[REST API] 개인 프로젝트 REST API 버전 관리

2021. 11. 27. 15:49Web/REST API

버전 관리

알고 있는 4가지 버전 관리 방법 중 Header로 관리하는 방법을 선택했다.

  1. URI
  2. Request Parameter
  3. Header
  4. MIME

선택 이유

먼저 사용자들이 이용할 서비스는 직접 API를 다룰 일이 없다. 따라서 API 정보가 일반 사용자에게 보여질 필요가 없다고 생각했다. 1번과 2번이 해당되어 제외했고 Header와 MIME 중 선택해야 했는데 굳이 MIME으로 복잡하게 할 필요가 없다고 생각하여 간편하게 Header로 관리하는 방법을 선택했다.

네이밍을 직접 한 것은 처음이었는데 네이밍 컨벤션에 관하여 검색해보니 "X-"를 사용하는 것은 deprecated 되어 지양하고 각 서비스에 적절한 이름을 정하라고 했다. 그래서 나는 만들 서비스의 이름을 따 StudyLounge-API-VERSION 으로 정했다.

여기서 더 깊게 들어가면 MSA 구조까지 생각하여 기능별로 API를 구분할 수도 있다는 걸 알게 됐다. 예를 들어 회원 관련 API와 게시글 관련 API의 버전을 따로 관리해서 StudyLounge-USER-API-VERSION, StudyLounge-POST-API-VERSION 등 이런 식으로 지정할 수도 있다. 그러나 현재 서비스를 시작부터 MSA 구조로 만들 필요성도 없으며 현재 역량으로는 MSA 구조로 개발하는 것은 어렵다고 생각하여 간결하게 지정했다.

'Web > REST API' 카테고리의 다른 글

REST API  (0) 2023.03.18