我正在将现有的 Web 服务移植到 Spring 3.2。我需要版本化的 API,并且每个新版本都有一个控制器。我不想在较新的控制器中重新定义方法,而是希望在最新版本中找不到旧控制器时自动将请求映射到旧控制器。
例如,如果ControllerV1
has/home
和has /login
,那么我希望请求像这样路由。ControllerV2
/login
/home -> ControllerV1
/v1/home -> ControllerV1
/v2/home -> ControllerV1
/login -> ControllerV1
/v1/login -> ControllerV1
/v2/login -> ControllerV2
一种选择是在@RequestMapping
. 但是,这意味着每当在新版本中添加 API 时,都会从所有旧控制器中删除路径。实现这一目标的最优雅的方法是什么?