从RestSharp客户端将int列表传递给Web API

当我使用REST Sharp下面的代码时,我无法传递listOfSelectedTicketsIds它总是为null。

请求Rest .net客户端

  var _stDeveloperApi = new RestClient("http://127.0.0.1/"); var url = string.Format("api/v1/SignalR/MultiClickMode"); var listOfSelectedTicketsIds = new List { 2, 3 }; var request = new RestRequest(url, Method.GET); request.AddParameter("listOfSelectedTicketsIds", listOfSelectedTicketsIds, ParameterType.GetOrPost); var response = _stDeveloperApi.Execute(request); 

Web API方法

 [HttpGet] public HttpResponseMessage MultiClickMode(List listOfSelectedTicketsIds) { var response = new HttpResponseMessage(); try { } catch (Exception ex) { response = Request.CreateResponse(HttpStatusCode.InternalServerError); } return response; } 

像这样更改您的客户端代码。

 var _stDeveloperApi = new RestClient("http://127.0.0.1/"); var url = string.Format("api/v1/SignalR/MultiClickMode"); var listOfSelectedTicketsIds = new List { 2, 3 }; var request = new RestRequest(url, Method.GET); listOfSelectedTicketsIds.ForEach(t => request.AddParameter( "listOfSelectedTicketsIds", t, ParameterType.GetOrPost)); var response = _stDeveloperApi.Execute(request); 

像这样更改Web API操作方法签名。

 public HttpResponseMessage MultiClickMode( [FromUri]List listOfSelectedTicketsIds)