【发布时间】:2018-07-13 09:53:16
【问题描述】:
所以我在WebApiConfig.cs 文件中添加了一些路由,我可以得到第一个和第二个调用,但不能让 GADailyAPI 调用正常工作。我得到一个 404。当第一次编写代码时,前两行路线在底部,它们会抛出 404。我尝试更改顺序,但我无法让它们全部工作。有任何想法吗? 注意:这不是我的代码,所以如果可以的话,我不想修改太多 API 代码。如果我能弄清楚路由顺序并修复它,那将是最好的解决方案
config.Routes.MapHttpRoute(
name: "GAMonthlyApiNetworkStats",
routeTemplate: "api/{controller}/{action}/{Year}/{Month}",
defaults: new { controller = "GAMonthlyAPI", action = "NetworkStats" }
);
config.Routes.MapHttpRoute(
name: "GAMonthlyApiAllStats",
routeTemplate: "api/{controller}/{action}/{Year}/{Month}",
defaults: new { controller = "GAMonthlyAPI", action = "AllStats", }
);
config.Routes.MapHttpRoute(
name: "GADailyApiNetworkStats",
routeTemplate: "api/{controller}/{action}/{StartDate}/{EndDate}",
defaults: new { controller = "GADailyAPI", action = "NetworkStats" }
);
config.Routes.MapHttpRoute(
name: "GADailyApiAllStats",
routeTemplate: "api/{controller}/{action}/{StartDate}/{EndDate}",
defaults: new { controller = "GADailyAPI", action = "AllStats" }
);
config.Routes.MapHttpRoute(
name: "GAMonthlyApiGroupStats",
routeTemplate: "api/{controller}/{action}/{Year}/{Month}/{GroupID}",
defaults: new { controller = "GAMonthlyAPI", action = "GroupStats" }
);
config.Routes.MapHttpRoute(
name: "GAMonthlyApiSiteStats",
routeTemplate: "api/{controller}/{action}/{Year}/{Month}/{SiteID}",
defaults: new { controller = "GAMonthlyAPI", action = "SiteStats" }
);
config.Routes.MapHttpRoute(
name: "GADailyApiGroupStats",
routeTemplate: "api/{controller}/{action}/{StartDate}/{EndDate}/{GroupID}",
defaults: new { controller = "GADailyAPI", action = "GroupStats" }
);
config.Routes.MapHttpRoute(
name: "GADailyApiSiteStats",
routeTemplate: "api/{controller}/{action}/{StartDate}/{EndDate}/{SiteID}",
defaults: new { controller = "GADailyAPI", action = "SiteStats" }
);
【问题讨论】:
标签: c# asp.net-web-api routes asp.net-web-api-routing