使用URL版本方法。使用@RequestMapping()注释添加重载的方法。在RequestMapping的值中指定版本号。
@Controller
@RequestMapping(value="/controller")
public class SampleController {
@RequestMapping(value = "/sample", method = RequestMethod.GET)
public ResponseEntity<?> getDefaultData() {
}
@RequestMapping(value = "/sample/v1", method = RequestMethod.GET)
public ResponseEntity<?> getData() {
}
@RequestMapping(value = "/sample/v2", method = RequestMethod.GET)
public ResponseEntity<?> findData() {
}
}
Web服务的每个版本都得到了不同的URL格式为:
如: -
http://example.com/controller/sample/v1
http://example.com/controller/sample/v2
http://example.com/controller/sample
等等...
使用这种方法,你会得到好处是:
- 你总是知道你在和哪个版本交谈。
- 保持向后兼容性。
- 您不必担心依赖性问题。每个版本都有一套完整的服务。你只需要确保你不要在不同的调用之间混合使用版本(但这取决于服务的消费者,而不是你作为开发人员)。
您只创建了一个控制器。我在问如何为不同版本构建代码。不同版本的不同控制器?或者使用接口? –
你可以使用单个控制器为不同的版本为相同的api。 – Sudhakar
我的项目太大了。显然我可以。那会是很好的代码架构吗? –