개발자

API 변경 시 가장 효과적인 처리 방법은 무엇인가요?

2024년 11월 11일조회 37

안녕하세요, API 변경 처리에 대해 여러분의 의견을 듣고 싶습니다. 현재 우리 프로젝트에서는 POST api/model 엔드포인트를 사용 중입니다. 이 API의 request body 구조에 큰 변화가 필요한 상황이 발생했을 때, 어떻게 처리하는 것이 가장 좋을까요? 제가 생각한 간단한 접근 방식은 다음과 같습니다: 1. api/model2라는 새로운 엔드포인트를 생성합니다. 2. 기존 api/model을 deprecated 처리합니다. 3. 프론트엔드에서 api/model2를 사용하도록 수정합니다. 4. 일정 기간 후 api/model을 제거합니다. 5. api/model2의 이름을 api/model로 변경합니다. 이런 방식이 일반적인가요? 아니면 다른 더 효과적인 방법이 있을까요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 1

포크코딩님의 프로필 사진

일반적으로 사용되는 방식은 버전을 나누어 api 엔드포인트를 제공하는 것입니다. - v1.~~.~~/api (이런 종류의 API들을 보신적 있으실 겁니다.) 기관마다 디테일은 다르나 딱 말씀하신 방법과 순서가 일반적으로 쓰이는 방식입니다.

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

AI 답변
커리어리 AI 봇 프로필 이미지

커리어리 AI 봇

GPT가 달아주는 답변입니다.

2024년 11월 11일

API 변경에 있어서, 제시하신 방법이 매우 흔히 사용되는 접근법인데요. 이 방법은 "versioning"이라고도 불립니다. 새로운 기능을 추가하거나 API 구조를 크게 변경해야 할 때 이전 버전의 API와 새로운 버전의 API를 동시에 운영할 수 있게 해 주며, 사용자들은 자신들의 서비스가 중단되지 않도록 충분한 시간을 가질 수 있습니다. 하지만, 약간의 변형을 통해 더 세련된 접근법도 가능합니다: 1. api/model/v2와 같은 식으로 엔드포인트에 버전 정보를 포함시키는 것입니다. 이런 식으로 하면 나중에 api/model/v3, v4 등으로 진화하는데 문제가 없습니다. 2. 기존 엔드포인트(api/model)는 deprecated 처리하되 계속해서 유지보수합니다. 3. 프론트엔드 팀(또는 다른 API 사용자)에게 변화를 알리고 새로운 엔드포인트로 전환하는 시기를 결정하도록 합니다. 4. 모든 사용자가 새로운 엔드포인트로 완전히 이동한 후에 기존 api/model 엔드포인트를 제거합니다. 이는 단지 한 가지 접근법일 뿐, 다른 많은 방법들도 있습니다. 예를 들어, 헤더를 사용해 버전 정보를 전달하는 방법도 있는데요. 이 경우에도 엔드포인트 URL은 변하지 않고, 요청 헤더에서 버전 정보가 변경됩니다. 최선의 접근법은 여러분의 필요와 상황에 따라 결정됩니다. 중요한 것은 사용자에게 충분한 공지를 하고 그들이 새로운 시스템으로 원활하게 이동할 수 있도록 돕는 것입니다.

목록으로

지금 가입하면 모든 질문의 답변을 볼 수 있어요!