webapi get请求 FromUri list参数传递

今天做项目调用第三方的webapi时,发现get请求竟然用的是FromUri list参数,汗...

这里简单记录下请求传参的方式(但不推荐大家使用get FromUri list参数 来定义webapi的功能):

 1        HttpClient hClient = new HttpClient(new MyHttpClienHanlder());
 2 
 3             string url = "http://api.test.com/api/pk/index?pkId=2322";
 4             //var ret = hClient.GetAsync(url);
 5             //var ss = ret.Result.Content.ReadAsStringAsync().Result;
 6             //Console.WriteLine(ss);
 7             //Console.WriteLine("


****************************************************************


");
 8 
 9             List<long> pIds = new List<long>();
10             pIds.Add(2322);
11             pIds.Add(1824);
12             //List<KeyValuePair<string, string>> paramList = new List<KeyValuePair<string, string>>();
13             //paramList.Add(new KeyValuePair<string, string>("pkIds", Newtonsoft.Json.JsonConvert.SerializeObject(pIds)));
14 
15             string parasFormat = "pkIds[{0}]={1}&";
16             StringBuilder paras = new StringBuilder();
17             for (var i = 0; i < pIds.Count; i++)
18             {
19                 paras.AppendFormat(parasFormat, i, pIds[i]);
20             }
21 
22             url = "http://api.test.com/api/pk/list?" + paras.Remove(paras.ToString().Length - 1, 1).ToString();
23 
24             //var ret = hClient.PostAsync(url, new FormUrlEncodedContent(paramList));
25             var ret = hClient.GetAsync(url);
26             var ss = ret.Result.Content.ReadAsStringAsync().Result;
27             Console.WriteLine(ss);
28 
29             hClient.Dispose();
原文地址:https://www.cnblogs.com/xcjit/p/4346758.html