mvc4 web api 404

时间:2013-01-03 17:55:13

标签: asp.net-mvc-4

任何人都可以看到我的路线配置有什么问题吗?我试图通过以下方式调用我的web api控制器:

localhost/Attribution/api/Client

localhost/Attribution/api/Fund

我有几个扩展ApiController的控制器,名为ClientController和FundController。

这是我的路线配置。我总是得到HTTP 404 The resource cannot be found

GlobalConfiguration.Configuration.Routes.MapRoute(
    "Default", // Route name
        "{controller}/{action}/{id}", // URL with parameters
        new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);


GlobalConfiguration.Configuration.Routes.MapHttpRoute(
    name: "test",
        routeTemplate: "api/{controller}/{id}/{action}",
        defaults: new
    {
            id = RouteParameter.Optional,
                action = RouteParameter.Optional
    });

1 个答案:

答案 0 :(得分:0)

您需要包含一个操作,该操作应该在您的控制器中。如上所述,url / api / Client不知道要调用的操作。相反,尝试:

GlobalConfiguration.Configuration.Routes.MapHttpRoute(
    name: "test",
        routeTemplate: "api/{controller}/{action}/{id}",
        defaults: new
    {
            action = "Index",
            id = RouteParameter.Optional
    });

然后URL / api / Client应在控制器“Client”中调用操作“Index”。