【发布时间】:2013-09-05 11:07:13
【问题描述】:
我正在尝试使用 RESTful 原则建立一个 WebAPI 项目,但我需要有关路由配置的帮助。
这是我在 WebAPIConfig.cs 中声明的路由
config.Routes.MapHttpRoute(
name: "API Child Default",
routeTemplate: "api/v{version}/{controller}/{id}/{child}",
defaults: new { version = "1", action = "Index", child = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi With Version",
routeTemplate: "api/v{version}/{controller}/{id}",
defaults: new { version = "1", action = "Index", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { version = RouteParameter.Optional, id = RouteParameter.Optional }
);
这是控制器动作声明:
public class EventsController : ApiController
{
// GET api/v1/Events
public IEnumerable<string> Get(string version)
{
return new string[] { "value1", "value2" };
}
}
这是我调用的未找到控制器操作的请求: GET /api/v1/Events HTTP/1.1
谁能告诉我为什么我在使用上述方法时出现未找到错误以及如何修复它?
【问题讨论】:
标签: c# asp.net-mvc-4 asp.net-web-api