콘텐츠 협상
Accept
, Accept-Language
로 관리
버전 관리
1. uri로 관리하는 방법
2. 요청 변수로 관리하는 방법
/person?version=1
, /person?version=2
3. 헤더로 관리하는 방법
X-API-VERSION
으로 관리
@GetMapping(path="/(경로)/header", headers="X-API-VERSION:(버전)")
4. 미디어 타입으로 관리하는 방법
- 또는 콘텐츠 협상(Accept) 활용 가능
@GetMapping(path="/(경로)/accept", produces="application/vnd.company.app-v1+json")
<- Accept 헤더로 전송된 값을 얻으려면 produces 사용해야함
- Accept 헤더로 전송된 것이 무엇이든 스프링 MVC가 수신하여 produces에 해당하는 값과 비교하여 일치하며 메소드 실행
헤더 종류
1. Content-Type 헤더
2. Accept 헤더
- 클라이언트가 전송한 데이터 타입으로만 응답 가능