Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- Linux
- html
- ps
- API
- Three
- frontend
- sqlite
- opencv
- DB
- mongo
- Git
- Express
- vscode
- ts
- ML
- nodejs
- PRISMA
- python
- C++
- CSS
- GAN
- CV
- js
- UI
- PyTorch
- postgresql
- react
- figma
- SOLID
- review
Archives
- Today
- Total
아카이브
[API] API versioning 본문
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 (1) | 2024.08.03 |
[API] API 캐싱(caching) (0) | 2024.08.03 |
[API] REST - 하이퍼미디어를 사용한 상태 표현(HATEOAS) (0) | 2024.08.03 |
[API] REST - 자기 서술적 메시지 (0) | 2024.08.01 |
Comments