springmvc将请求委派给不同版本的rest控制器



我正在设计一个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匹配的控制器(如果找到匹配(:控制权在相应的控制器中传输。像这样的东西。

相关内容

最新更新