Spring MVC 3.2 アプリがあり、URL を処理するための最良の方法を見つけようとしています。次のような方法で複数の顧客をサポートしたいと考えています。
www.myproduct.com/customerNameX/products
www.myproduct.com/customerNameX/office/
www.myproduct.com/customerNamex/financial
www.myproduct.com/customerNamex/...
customerName の後のパスごとにコントローラーが必要です。Spring MVC である種の継承リクエスト マッピングを行う方法があることを期待していました。展開エラーが発生する現在の試みは次のとおりです(「あいまいなマッピングが見つかりました。「rootController」Beanメソッドをマップできません」)
@Controller
@RequestMapping( "/{officeId}/" )
public class RootController {
public @ResponseBody
Office getOffice( @PathVariable String officeId ) {
return offficeService.findOfficeByName(officeId);
}
}
@Controller
@RequestMapping( "/{officeId}/products" )
public class ProductsController extends RootController {
...
}
@Controller
@RequestMapping( "/{officeId}/office" )
public class OfficeController extends RootController {
...
}
ルート コントローラが最初のレベルのリクエストを取得し、officeId が他のすべてのリクエストにどの officeId がリクエストされているかを伝えると考えられています。しかし、私はこれが正しいアプローチだとは思いません。
URL を適切に構築するための最善の方法についてのヒントをいただければ幸いです。