我正在使用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 for Post方法。
答案 0 :(得分:2)
您需要创建一个DTO类,其中包含两种类型的属性 Models.Client 和 App.ControlCenter.Models.Company
string_input = "ABCDEFG";
string_output = take(string_input, length_input);
然后填充ComplexObject对象(即TComplexObject)并使用
public class DTO.ComplexObject
{
public Models.Client tClientModel { get; set; }
public App.ControlCenter.Models.Company tCompany{ get; set; }
}
HttpResponseMessage tResponse = tHttpClient.PostAsJsonAsync(url,TComplexObject).Result;