2

任何人都可以看到我的路线配置有什么问题吗?我正在尝试通过以下方式调用我的 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
    });
4

1 回答 1

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 应该在控制器“客户端”中调用操作“索引”。

于 2013-01-04T01:24:12.683 回答