既存の Web サービスを Spring 3.2 に移植しています。バージョン管理された API が必要で、新しいバージョンごとにコントローラーがあります。新しいコントローラーでメソッドを再定義したくありません。代わりに、最新のコントローラーに見つからない場合は、古いコントローラーにリクエストを自動的にマップしたいと考えています。
たとえば、 has と has の場合、ControllerV1リクエスト/homeを次のようにルーティングします。/loginControllerV2/login
/home -> ControllerV1
/v1/home -> ControllerV1
/v2/home -> ControllerV1
/login -> ControllerV1
/v1/login -> ControllerV1
/v2/login -> ControllerV2
1 つのオプションは、で複数のパスを提供すること@RequestMappingです。ただし、これは、API を新しいバージョンに追加するたびに、すべての古いコントローラーからパスを削除することを意味します。これを達成するための最もエレガントな方法は何ですか?