我有一个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正在请求什么。但我不认为这是正确的做法。
我非常感谢有关正确构建网址的最佳方法的任何提示。