[API] API versioning

2024. 8. 3. 16:35·Backend

API versioning은 문자 그대로 API의 개발 버전을 명시하는 행위입니다.

API는 엔드포인트가 추가/제거 되거나, 사용 방법이 바뀌기 때문에 이를 사용자가 알 수 있도록 명시해야 합니다.

특히 엔드포인트의 사용방법이 바뀐다면, 사용자가 이를 알지 못하고 사용했을 때 프로그램에 치명적인 오류가 발생할 수 있습니다.

 

이 때문에 엔드포인트에 큰 변경 사항이 있다면, 기존 엔드포인트는 수정하지 않되 변경 사항이 적용된 새로운 엔드포인트를 만들어 배포하는 방법이 사용됩니다.

이 엔드포인트는 기존의 것과 동일한 이름을 사용하지만, 둘을 구분하기 위해 버전명을 명시하게 됩니다.

GET /v1/members/  // 첫 번째 버전
GET /v2/members/  // 두 번째 버전

사용자는 여전히 v1, v2 엔드포인트를 모두 사용할 수 있습니다.

하지만 한 번 v2 엔드포인트를 사용하게 되면, v1 엔드포인트는 자동으로 제거됩니다.

따라서 최종적으로는 v1 엔드포인트가 v2 엔드포인트로 바뀌는 그림이 됩니다.

728x90

'Backend' 카테고리의 다른 글

[Backend][Render] Render에 대해서  (0) 2024.08.28
[API] Pagination  (0) 2024.08.03
[API] API 캐싱(caching)  (0) 2024.08.03
[API] REST - 하이퍼미디어를 사용한 상태 표현(HATEOAS)  (0) 2024.08.03
[API] REST - 자기 서술적 메시지  (0) 2024.08.01
'Backend' 카테고리의 다른 글
  • [Backend][Render] Render에 대해서
  • [API] Pagination
  • [API] API 캐싱(caching)
  • [API] REST - 하이퍼미디어를 사용한 상태 표현(HATEOAS)
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • CS (40)
        • CV (2)
        • PS (34)
      • Reveiw (18)
        • Paper (18)
        • Github (0)
      • ML (8)
        • Pytorch (5)
      • Language (59)
        • Python (8)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (12)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (44)
        • DB (18)
        • Node.js (11)
      • UI (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    PyTorch
    ts
    nodejs
    CSS
    Three
    API
    CV
    deploy
    GAN
    mongo
    modal
    expo
    vscode
    ps
    figma
    CS
    Git
    python
    backend
    SOLID
    PRISMA
    review
    js
    ReactNative
    ML
    postgresql
    frontend
    DB
    react
    Express
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Rayi
[API] API versioning
상단으로

티스토리툴바