저번 포스팅에서는
uri 자체에 v1,v2등 버전을 직접 넣음으로써 version을 관리했다.
이번에는 Request Parameter를 사용해서 버전을 관리해보자.
-Parameter-
// request param을 사용하기 때문에 @Getmapping value(url)에 마지막에 '/' 를추가해줘야한다.
@GetMapping(value = "/users/{id}/",params = "version=1")
public MappingJacksonValue retrieveUserV1(@PathVariable int id) {
}
@GetMapping(value = "/users/{id}/",params = "version=2")
public MappingJacksonValue retrieveUserV2(@PathVariable int id) {
}
http::localhost:8088/admin/users/1/?version=1
다음과 같이 요청을 보내면 정상적으로 출력이 된다.
-Header-
@GetMapping(value = "/users/{id}", headers ="X-API-VERSION=1" )
public MappingJacksonValue retrieveUserV1(@PathVariable int id)
}
@GetMapping(value = "/users/{id}", headers ="X-API-VERSION=2" )
public MappingJacksonValue retrieveUserV2(@PathVariable int id)
}
header에 해당하는값을 넣고 요청하면 정상적으로 값이 나오는 것을 확인 할 수있다.
-produce-
@GetMapping(value = "/users/{id}",produces = "application/vnd.company.appv1+json")
public MappingJacksonValue retrieveUserV1(@PathVariable int id){
}
@GetMapping(value = "/users/{id}",produces = "application/vnd.company.appv2+json")
public MappingJacksonValue retrieveUserV2(@PathVariable int id){
}
'RESTful' 카테고리의 다른 글
Swagger(rest api documentation) (0) | 2022.01.16 |
---|---|
HATEOAS (0) | 2022.01.16 |
Rest API version 관리(URI) (0) | 2022.01.16 |
@JsonFilter (0) | 2022.01.16 |
@JsonIgnore (jackson) (0) | 2022.01.16 |