WebAPI多路线

时间:2016-03-17 03:39:15

标签: asp.net-web-api

我添加了2条路线,以下是我的代码

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

        config.Routes.MapHttpRoute(
            name: "HandheldApi",
            routeTemplate: "api/handheld/{controller}/{action}"
        );

当我使用以下链接http://localhost:64886/api/Account/Get时,此链接对我有用 但我使用以下链接http://localhost:64886/api/handheld/Account/Get,服务器返回“找不到与请求URI匹配的HTTP资源”

我该怎么办?我必须设置2路由,因为新路由是新映射,默认路由将被废弃

1 个答案:

答案 0 :(得分:0)

您没有为第二条路线定义defaults参数。希望这会奏效 -

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

    config.Routes.MapHttpRoute(
        name: "HandheldApi",
        routeTemplate: "api/handheld/{controller}/{action}"
        defaults: new { controller = "MyController", action = "MyMethod" }
    );