0
我有调用API的一些问题。我需要发送包含2件事情的发布数据:一个ID和一个int数组。 我尝试了很多东西,都导致错误或者根本没有以正确的方式发送数据。我发现的所有答案都不处理我想发送2种不同数据类型的事实。C#:HttpClient POST传递参数 - 一个字符串和int数组
在另一边我有:
Call<DefaultResponseList> someMethod(@Field("parm1") String parm1, @Field("parm2[]") ArrayList<Integer> parm2);
我想:
List<int> ints1 = new List<int>();
ids.Add(1);
ids.Add(2);
ids.Add(3);
var values = new List<KeyValuePair<string, object>>
{
new KeyValuePair<string, object>("parm1", "lkdjfowejfd123"),
new KeyValuePair<string, object>("parm2", ints1)
};
var httpClient = new HttpClient(new HttpClientHandler());
HttpResponseMessage response = await httpClient.PostAsync(someUrl, new FormUrlEncodedContent(values));
response.EnsureSuccessStatusCode();
string data = await response.Content.ReadAsStringAsync();
你应该知道'someUrl'的环境,然后根据这些信息来安排你的值。例如,如果目标环境是Apache/PHP服务器,则您的密钥应该像param2 [],因为传统的ASP.NET环境值应该与occurence具有相同的密钥名称,并且如果其ASP.NET MVC密钥应该包含诸如param2 [0 ],param2 [1]等。 –
目标环境是一个Apache/PHP服务器。 – Miljkoyu