Versioning

API 버전 관리 전략

URI, 헤더, 미디어 타입 방식 중 하나를 고르고 NestJS enableVersioning으로 라우트 버전을 명시하면 변경 관리가 쉬워집니다.

방식 선택

URI / 헤더 / 미디어 타입

클라이언트 배포 환경과 캐시 정책에 맞춰 버전 위치를 정하고 팀 전체가 같은 규칙을 씁니다.

Nest 설정

enableVersioning

main.ts에서 versioning type을 설정하고 컨트롤러나 라우트에 버전 값을 선언합니다.

하위 호환

Backward Compatibility

필드 추가는 안전한 편이지만 필드 삭제, 의미 변경, 상태 코드 변경은 새 버전 후보입니다.

폐기 절차

Deprecation

이전 버전 종료 일정을 문서와 응답 헤더, 릴리스 노트로 알려 클라이언트 전환 시간을 줍니다.