2013-09-23 95 views
0

剥夺我有一个的WebAPI获取动作的WebAPI查询字符串从RequestURI

public HttpResponseMessage Get() 
    { 
     try 
     { 
      var queryValue = Request.RequestUri.ParseQueryString(); 
      if (queryValue.Count == 0) 
      { 
       return Request.CreateResponse(HttpStatusCode.BadRequest, "Query String Filters Required"); 
      } 

我打电话与此网址

api/funds?FundProductGroupCT=favourite&pagesize=10&startindex=8 

RequestUri总是有剥离的查询字符串。

这是我的Global.asax

GlobalConfiguration.Configuration.Routes.MapHttpRoute(
      name: "DefaultApi", 
      routeTemplate: "api/{controller}/{id}", 
      defaults: new { id = System.Web.Http.RouteParameter.Optional } 
     ); 

    System.Web.Http.GlobalConfiguration.Configuration.Routes.MapHttpRoute 
     ("default", routeTemplate: "api/{controller}/{action}/{id}", defaults: new { id = System.Web.Http.RouteParameter.Optional }); 
+0

为什么你不只是使用OData进行查询? –

回答

0

道歉。

这原来是一个红鲱鱼的位。我在Ektron应用程序中使用web api。我发现有一个拦截请求的模块,如果它没有以“/”结尾,则会删除查询字符串。