在MVC 4中为Web API添加路由

时间:2012-10-29 17:02:38

标签: asp.net-mvc asp.net-mvc-4 asp.net-web-api asp.net-mvc-routing

我有一个WebApi控制器,想要添加路线。

这是我的控制器...

        public class ExtraInformationController : ApiController
        {
            private readonly ExtraInformationRepository _extraInfoRepository = new ExtraInformationRepository();

            public ExtraInformation Get(int assetId)
            {
                return _extraInfoRepository.GetByAssetID(assetId).FirstOrDefault();
            }

        }

继承我的路线......

  routes.MapHttpRoute(
            "ExtraInformation",
            "api/ExtraInformation/{assetId}",
            new { controller = "ExtraInformation", action = "Get" }
        );

我希望能够致电......

API / ExtraInformation / 4

但我得到......

找不到与请求URI匹配的HTTP资源'http:// localhost:35188 / api / ExtraInformation / 4'。在与请求匹配的控制器'ExtraInformation'上找不到任何操作。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

使用通用默认路由应该足以查看您的示例。我会换掉它并尝试一下。

routes.MapHttpRoute(
    name: "DefaultApi",
    routeTemplate: "api/{controller}/{id}",
    defaults: new { id = RouteParameter.Optional }
);