【发布时间】:2014-09-16 13:41:38
【问题描述】:
我有两个控制器,一个名为“Products”,另一个名为“ProductsGroup”
[RoutePrefix("api/{clientUrl}/products")]
public class ProductsController : BaseApiController
{
/// <summary>
/// Get all products from a client
/// </summary>
/// <returns></returns>
[Route("")]
public HttpResponseMessage Get()
{
var model = Repository.GetProducts(ClientId).Select(p => ModelFactory.Create<ProductsModel>(p));
return Request.CreateResponse(HttpStatusCode.OK, model);
}
}
[RoutePrefix("api/{clientUrl}/products/groups")]
public class ProductGroupsController : BaseApiController
{
/// <summary>
/// Get all productgroups
/// </summary>
/// <returns></returns>
[Route("")]
public HttpResponseMessage Get()
{
var model = Repository.GetProductGroups(ClientId);
return Request.CreateResponse(HttpStatusCode.OK, model);
}
}
当我像这样路由时,由于“找到与 URL 匹配的多个控制器类型”,我无法访问 ProductGroupsController
是否可以让路由忽略url中的“products”部分,只映射到productgroupscontroller?
【问题讨论】:
标签: c# asp.net-web-api asp.net-web-api-routing