在springboot中作为Accept标头的一部分进行版本控制

时间:2017-09-13 06:56:23

标签: java spring spring-boot version http-accept-header

作为开发的一部分,我想维护两个不同版本的响应。我使用生成关键字作为请求映射的一部分来区分实现。

当version = 1.0时,应该调用第一个实现的方法,当版本2.0时,应该调用第二个实现的方法。

但在我的情况下,它总是调用较低版本的方法。

**

@RequestMapping(value = "/example", method = GET,produces= HAL_JSON_VALUE+";version=1")
public void method1(){
System.out.println("in method1");
}
@RequestMapping(value = "/example", method = GET,produces= HAL_JSON_VALUE+";version=2")
public void method2(){
System.out.println("in method2");
}

**

1 个答案:

答案 0 :(得分:0)

Spring MVC在内容协商期间没有考虑媒体类型参数。请参阅this issue for more background on that

REST API提供商通常选择在类型本身中包含该版本号,例如application/vnd.github.v3+json