web api 属性路由多个参数
web api attribute routing multiple parameters
我有一个方法定义如下
[Route("public/sites/GetAllForWeb")]
[HttpGet]
public IEnumerable<Domain.Site.Site> GetAllForWeb(DateTime date, int hour, string parameterCode = null)
然后调用如下(angular)
return this.http.get<Site[]>("public/sites/GetAllForWeb?date=" + date + "&hour=" + hour + ((parameterCode === undefined) ? "" : "¶meterCode=" + parameterCode)
不幸的是,调用不匹配任何控制器方法,我假设是因为 Route
属性中缺少参数。
应该如何修改 Route
属性以正确反映方法签名?
这个问题是我没有将 api
添加到 Route
属性 :/
出于某种原因,我的印象是 api
在
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { action = RouteParameter.Optional, id = RouteParameter.Optional }
);
将添加到 Route
属性
我有一个方法定义如下
[Route("public/sites/GetAllForWeb")]
[HttpGet]
public IEnumerable<Domain.Site.Site> GetAllForWeb(DateTime date, int hour, string parameterCode = null)
然后调用如下(angular)
return this.http.get<Site[]>("public/sites/GetAllForWeb?date=" + date + "&hour=" + hour + ((parameterCode === undefined) ? "" : "¶meterCode=" + parameterCode)
不幸的是,调用不匹配任何控制器方法,我假设是因为 Route
属性中缺少参数。
应该如何修改 Route
属性以正确反映方法签名?
这个问题是我没有将 api
添加到 Route
属性 :/
出于某种原因,我的印象是 api
在
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { action = RouteParameter.Optional, id = RouteParameter.Optional }
);
将添加到 Route
属性