HTTP Post 多个对象通过 PostAsJsonAsync
HTTP Post multiple objects through PostAsJsonAsync
我正在使用 HttpClient 和一些 WebAPI。
我需要将多个对象发送到 POST,下面是我的 Post 方法的声明方式:
public string Post(Models.Client value, App.ControlCenter.Models.Company c)
{
...
}
下面是我调用 WebAPI 的方式:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var s = client
.PostAsJsonAsync("api/Client/", c)
.Result
.Content.ReadAsAsync<App.ControlCenter.Models.RolDTO>().Result;
return View();
}
我需要做的是发送 Client 对象和 Company 以使我的 Post 方法起作用。
客户端
您需要创建一个 DTO class,其中包含两个类型为 Models.Client 和 App.ControlCenter.Models.Company[=25 的属性=]
public class DTO.ComplexObject
{
public Models.Client tClientModel { get; set; }
public App.ControlCenter.Models.Company tCompany{ get; set; }
}
然后填充 ComplexObject 对象(即 TComplexObject)并使用
HttpResponseMessage tResponse = tHttpClient.PostAsJsonAsync(url,TComplexObject).Result;
API
[HttpPost]
public HttpResponseMessage AddData(DTO.ComplexObject tComplexObject)
{
我正在使用 HttpClient 和一些 WebAPI。
我需要将多个对象发送到 POST,下面是我的 Post 方法的声明方式:
public string Post(Models.Client value, App.ControlCenter.Models.Company c)
{
...
}
下面是我调用 WebAPI 的方式:
using (var client = new HttpClient())
{
client.BaseAddress = new Uri("http://localhost/");
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var s = client
.PostAsJsonAsync("api/Client/", c)
.Result
.Content.ReadAsAsync<App.ControlCenter.Models.RolDTO>().Result;
return View();
}
我需要做的是发送 Client 对象和 Company 以使我的 Post 方法起作用。
客户端
您需要创建一个 DTO class,其中包含两个类型为 Models.Client 和 App.ControlCenter.Models.Company[=25 的属性=]
public class DTO.ComplexObject
{
public Models.Client tClientModel { get; set; }
public App.ControlCenter.Models.Company tCompany{ get; set; }
}
然后填充 ComplexObject 对象(即 TComplexObject)并使用
HttpResponseMessage tResponse = tHttpClient.PostAsJsonAsync(url,TComplexObject).Result;
API
[HttpPost]
public HttpResponseMessage AddData(DTO.ComplexObject tComplexObject)
{