SPRING/WEBSERVICE

[Restuful 학습] - 버전관리

JUMP개발자 2020. 8. 8. 20:48

Restful 웹서비스 개발방식에서 버전관리를 하는 법은 여러가지이다.

 

1. mapping url / 메서드 별 관리

 

@GetMapping("/v1/users/{id}")

public MappingJacksonValue retrieveUservV1(@PathVariable int id)

 

@GetMapping("/v2/users/{id}")

public MappingJacksonValue retrieveUserV2(@PathVariable int id) 

 

2. paramter를 사용하는 방법

 

@GetMapping(value = "/users/{id}", params = "version=1")

@GetMapping(value = "/users/{id}", params="version=2")

 

위와 같이 Params 를 선언하고 Client에서는 아래와 같이 version을 parameter로 보내는 방식을 사용할 수 있다.

 

/user/1/?version=1

/user/1/?version=2

 

3. Accept header 를 사용하는 방법

 

@GetMapping(value="/users/{id}", produces ="application/vnd.company.appv1+json")

@GetMapping(value="/users/{id}", produces ="application/vnd.company.appv2+json")