我使用HttpClient将.NET项目与我的Web API连接。
事情是,在发送多个变量或对象时,我无法使其工作。 有一个参数,我喜欢这样:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost/");
client.DefaultRequestHeaders.Accept.Clear();
int systemId = 24;
var response = client.PostAsJsonAsync("api/method/{id}", systemId).Result;
if (response.IsSuccessStatusCode)
{
// Do
}
else
// DO
}
有几个变量,我无法工作。我不知道如何发送几个变量。它可以是一个Object和Byte []或两个整数和类似的。 Uri就像:" Api / Method / {SystemId} / {Id}。
也许[FromBody]属性可以帮助我解决这个问题?我如何让它发挥作用?
提前致谢。
答案 0 :(得分:1)
假设您有以下路线:
routes.MapRoute(
name: "MyAPIRoute",
url: "Api/Method/{SystemId}/{Id}"
);
您可以调用它,使用查询字符串绑定SystemId和Id参数:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost/");
client.DefaultRequestHeaders.Accept.Clear();
int systemId = 24;
int id = 45;
string queryString = "SystemId="+systemId+"&Id="+id;
var response = client.PostAsJsonAsync("api/method/",queryString).Result;
if (response.IsSuccessStatusCode)
{
// Do
}
else
// DO
}