使用uri参数和查询字符串时的Web Api路由问题

时间:2015-11-23 12:24:17

标签: c# url-routing asp.net-web-api2

我正在努力让一些Web Api 2.2路由正常工作。我有一条路线:

config.Routes.MapHttpRoute(
            name: "OrgAdminGetOrgUsers",
            routeTemplate: "organisations/{id}/users",
            defaults: new { controller = "OrganisationDetails", action = "GetUsersInAnOrganisation" }                
        );

我遇到的问题是,当我添加一个查询字符串以使GET可搜索时,我的路由停止工作,我得到404' s。我到处寻找使用Uri参数和查询字符串的例子,但我找不到任何东西。这似乎是人们会做很多事情的事情吗?当我从控制器中删除查询字符串和可选参数时,路由工作正常。

Uri:

organisations/3/users?orderby=asc&orderByColumn=surname&start=1&end=15 

控制器:

[HttpGet]
    public IEnumerable<User> GetUsersInAnOrganisation(int id, string email = "", string firstName = "", string surname = "", string orderByColumn = "", string orderBy = "asc", int start = -1, int end = -1)

非常感谢您的任何帮助!

0 个答案:

没有答案