【问题标题】:Passing list of int to Web API from RestSharp Client从 RestSharp 客户端将 int 列表传递给 Web API
【发布时间】:2014-01-21 23:38:35
【问题描述】:

当我使用来自 REST Sharp 的以下代码时,我无法传递 listOfSelectedTicketsIds 它始终为空。

Rest Sharp .net 客户端请求

 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 方法

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

            try
            {

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

            return response;
        }

【问题讨论】:

    标签: c# asp.net-web-api restsharp


    【解决方案1】:

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

    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);
    

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

    public HttpResponseMessage MultiClickMode(
                                   [FromUri]List<int> listOfSelectedTicketsIds)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-09
      • 2017-04-02
      • 1970-01-01
      • 2016-06-09
      • 2015-03-06
      • 1970-01-01
      • 2018-04-29
      • 2010-09-20
      相关资源
      最近更新 更多