【发布时间】:2013-01-12 04:17:20
【问题描述】:
好的,我认为这很简单,但我错过了一些东西。我正在映射一个 Web API 路由并希望它如下所示:
http://localhost:1234/api/myBlog/Articles
并认为这会起作用:
routes.MapRoute(
name: "BlogApi",
url: "api/myBlog/{controller}/{id}",
defaults: new { controller = "Articles", id = UrlParameter.Optional }
);
“myBlog”段不是控制器或文件夹。我只是希望它成为 URL 的一部分。我尝试使用ArticlesController 控制器在Controllers 下创建一个名为“myBlog”的文件夹,但这并没有什么不同。我总是得到 404 not found:找不到与名为“myBlog”的控制器匹配的类型。
当我做http://localhost:1234/api/myBlog时也很奇怪,路由Articles中的默认控制器没有使用,所以也想知道这个。
如果我执行以下操作,我只能让它工作:
routes.MapRoute(
name: "BlogApi",
url: "api/Articles/{id}",
defaults: new { controller = "Articles", id = UrlParameter.Optional }
);
并致电:http://localhost:1234/api/Articles
我在这里缺少什么?谢谢!
【问题讨论】:
标签: asp.net-mvc asp.net-web-api asp.net-mvc-routing