Web API属性路由多个参数

时间:2018-06-20 15:07:26

标签: asp.net asp.net-web-api asp.net-web-api2

我有一个定义如下的方法

[Route("public/sites/GetAllForWeb")]
    [HttpGet]
    public IEnumerable<Domain.Site.Site> GetAllForWeb(DateTime date, int hour, string parameterCode = null)

然后将其称为(角度)

return this.http.get<Site[]>("public/sites/GetAllForWeb?date=" + date + "&hour=" + hour + ((parameterCode === undefined) ? "" : "&parameterCode=" + parameterCode)

很遗憾,我假设该调用与任何控制器方法都不匹配,因为Route属性中缺少参数。

应如何修改Route属性以正确反映方法签名?

1 个答案:

答案 0 :(得分:1)

这个问题是我没有将api添加到Route属性中:/

由于某种原因,我对api印象深刻

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

将添加到Route属性

之前