【发布时间】:2016-06-21 21:28:37
【问题描述】:
我是 WebApi 的新手。使用 .NET 4.5 所以我猜那是 Web Api 2.2
获取异常:找到与请求匹配的多个操作:GetCategoriesById on 当浏览到 /api/categories/33 时。
这很好用:/api/categories
同时浏览到 /api/categories/32/subcategories 会得到 HTtp 404。
我的控制器:
public class CategoriesController : ApiController
{
[Route("api/categories")]
public IEnumerable<MainCategory> GetCategories()
{
return null;
}
[Route("api/categories/{id:int}")]
public MainCategory GetCategoriesById(int Id)
{
return null;
}
[Route("api/categories/{id:int}/subcategories")]
public IEnumerable<SubCategory> GetSubCategoriesById(int Id)
{
return null;
}
}
WebApi 已像这样被停用:
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional },
constraints: new { id = @"\d+" });
config.Routes.MapHttpRoute(
name: "SubCategories",
routeTemplate: "api/categories/{id}/subcategories",
defaults: new { id = RouteParameter.Optional },
constraints: new { id = @"\d+" });
}
【问题讨论】:
标签: asp.net-web-api2 asp.net-web-api-routing