Spring boot Spring引导API版本控制(代码体系结构)
我正在SpringBoot中开发服务。 现在假设我开发了10个API,没有指定任何版本,并在生产中发布代码 现在两个API需要突破性的更改,所以我需要创建这两个API的新版本 那么,我应该如何创建代码设计呢?我是否应该创建一个基本控制器&然后在每个新版本中创建一个扩展主控制器的新控制器?我应该在墙面上使用吗?还是有更好的办法Spring boot Spring引导API版本控制(代码体系结构),spring-boot,code-design,Spring Boot,Code Design,我正在SpringBoot中开发服务。 现在假设我开发了10个API,没有指定任何版本,并在生产中发布代码 现在两个API需要突破性的更改,所以我需要创建这两个API的新版本 那么,我应该如何创建代码设计呢?我是否应该创建一个基本控制器&然后在每个新版本中创建一个扩展主控制器的新控制器?我应该在墙面上使用吗?还是有更好的办法 另外,我计划最多只保留两个/三个版本的API。我们也希望不支持旧版本API的时间太长,因此设计还应支持轻松删除旧版本?使用URL版本方法。添加带有()注释的重载方法。在Re
另外,我计划最多只保留两个/三个版本的API。我们也希望不支持旧版本API的时间太长,因此设计还应支持轻松删除旧版本?使用URL版本方法。添加带有()注释的重载方法。在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() {
}
}
等等
使用此方法,您可以获得以下好处:
您只创建了一个控制器。我问的是如何为不同的版本构造代码。不同版本的不同控制器?或者使用接口?您可以对同一api的不同版本使用单个控制器。我的项目太大了。显然我能。这是好的代码架构吗?是的,我相信。应使用单个控制器来处理对可能是不同版本的功能的请求。当您想要重构代码时,它会给您带来好处。
http://example.com/controller/sample/v1
http://example.com/controller/sample/v2
http://example.com/controller/sample