Passing list of int to Web API from RestSharp Client
Asked Answered
S

1

6

When I use code below from REST Sharp I am not able to pass listOfSelectedTicketsIds it always null.

Request of Rest Sharp .net Client

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

Web API Method

[HttpGet]
        public HttpResponseMessage MultiClickMode(List<int> listOfSelectedTicketsIds)
        { 
            var response = new HttpResponseMessage();

            try
            {

            }
            catch (Exception ex)
            {
                response = Request.CreateResponse(HttpStatusCode.InternalServerError);
            }

            return response;
        }
Sanguinaria answered 21/1, 2014 at 23:38 Comment(0)
E
12

Change your client code like this.

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

Change the web API action method signature like this.

public HttpResponseMessage MultiClickMode(
                               [FromUri]List<int> listOfSelectedTicketsIds)
Encase answered 22/1, 2014 at 7:28 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.