我正在设计一个REST控制器层,该层具有未来可能发生的不同版本控制的概念。
我正在考虑单独上课,版本号如下。
@RequestMapping("/v1/api")
@RestController
class V1RestController {
}
@RequestMapping("/v2/api")
@RestController
class V2RestController {
}
或者V2RestController可以根据需要扩展V1RestController。这只是一个草稿。但我的问题是,是否有任何Spring MVC api可以捕获URL并查找版本"/v1/api或/v2/api",并将请求委托给正确的控制器。
根据我的研究,最好的方法是使其向后兼容,但我确信现实是不同的,在某些情况下会有不同的实现。
我知道还有其他方法可以为不同的版本控制设计rest控制器层,但目前,我想采用这种方法。
如有任何帮助,我们将不胜感激。
但我的问题是,是否有任何Spring MVC api可以捕获URL并查找版本"/v1/api或/v2/api",并将请求委托给正确的控制器。
DispatcherServlet截取请求(截取内容在"web.xml"中查找(,然后DispatcherServlet查看请求URL并查找其"value"参数("@RequestMapping"注释(与请求URL匹配的控制器(如果找到匹配(:控制权在相应的控制器中传输。像这样的东西。