HttpClient POST 多个 objects/variables
HttpClient POST multiple objects/variables
我正在使用 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] 属性可以帮助我解决这个问题?我该如何让它发挥作用?
提前致谢。
假设您有以下路线:
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
}
我正在使用 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] 属性可以帮助我解决这个问题?我该如何让它发挥作用?
提前致谢。
假设您有以下路线:
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
}