【发布时间】:2013-02-12 15:53:03
【问题描述】:
我的 WebAPI 项目中有一个名为 News 的控制器,我有两个名为 Get 的默认操作,用于处理以下 URL:
/api/News
到目前为止,一切都很简单,显然默认路由可以处理这些场景。我接下来想要一个如下所示的 URL:
/api/News/123/Artists
现在我对 ASP.Net MVC 和 WebAPI 来说是相当新鲜的,所以这是我第一次不得不处理路由。我已将默认路由修改为如下所示:
routes.MapRoute(
name: "Default",
url: "{controller}/{id}/{action}",
defaults: new { controller = "News", action = "Get", id = UrlParameter.Optional }
所以我在这里将 {action} 移到了 URL 的末尾,并在我的 News 控制器中添加了一个 Artists 方法。这仍然适用于前两种情况,但在第三种情况下返回 404。
显然路由不适用于 /api/News/123/Artists 但我不知道为什么。
我似乎找不到任何这样的人使用 WebAPI 的例子,这让我觉得我做的事情根本上是错误的。
任何帮助将不胜感激。
【问题讨论】:
标签: c# asp.net asp.net-mvc-4 asp.net-web-api