Asp.net WebAPI MapHttpRoute问题,操作参数类型为list和bool
我有一个WebAPI的部署时间问题,如果有人能帮助我,我将不胜感激 路线:Asp.net WebAPI MapHttpRoute问题,操作参数类型为list和bool,asp.net,.net,asp.net-web-api,asp.net-mvc-routing,asp.net-web-api-routing,Asp.net,.net,Asp.net Web Api,Asp.net Mvc Routing,Asp.net Web Api Routing,我有一个WebAPI的部署时间问题,如果有人能帮助我,我将不胜感激 路线: public static void Register(HttpConfiguration config) { // Web API configuration and services // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpR
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi2",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
name: "DefaultApi3",
routeTemplate: "api/{controller}/{action}/{lines}/{swapAxis}",
defaults: new
{
controller = "LVChart",
action = "Get",
lines = RouteParameter.Optional,
swapAxis = RouteParameter.Optional
}
);
}
行动:
// GET api/<controller>
public IEnumerable<string> Get1()
{
return new string[] { "value1", "value2" };
}
// GET api/<controller>
[ActionName("Get")]
public string Get([FromUri] List<Line> lines, bool swapAxis)
{
_lineBuilder = new LVLineBuilder(swapAxis);
string result = BuildLines(lines);
return result;
}
当得到是
.../api/LVChart/Get/?lines[]=15&lines[]=11&lines[]=12&lines[]=3&lines[]=10&lines[]=7&swapAxis=false
我真的没有办法解决这个问题了
谢谢你的帮助,我认为你的定制路线应该高于dafault路线。i、 e DefaultApi2和DefaultApi3应位于DefaultApi1之上 此外,为了恢复完整性,您还可以尝试避免额外的默认路由,只使用默认路由1并执行
HttpGet
到/api/LVChart
,如下所示
.../api/LVChart?lines[]=15&lines[]=11&lines[]=12&lines[]=3&lines[]=10&lines[]=7&swapAxis=false
尝试使用ELMAH之类的工具记录错误,以便可以检查堆栈跟踪,并查看抛出的异常类型。500内部服务器错误可能是操作方法引发的任何异常。已尝试执行此操作,但现在显示安装elmah时出错。。。不敢相信我的luckI怀疑我的maproute有问题?我开始认为这是方法签名。您需要一系列数字,但操作需要一系列线对象。
.../api/LVChart?lines[]=15&lines[]=11&lines[]=12&lines[]=3&lines[]=10&lines[]=7&swapAxis=false