【问题标题】:HTTP Post multiple objects through PostAsJsonAsyncHTTP 通过 PostAsJsonAsync 发布多个对象
【发布时间】:2015-12-04 18:42:54
【问题描述】:

我正在使用带有一些 WebAPI 的 HttpClient。

我需要将多个对象发送到一个 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 方法起作用。

【问题讨论】:

    标签: c# post asp.net-web-api httpclient


    【解决方案1】:

    客户端

    您需要创建一个具有 Models.ClientApp.ControlCenter.Models.Company 类型的两个属性的 DTO 类

    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)
    {
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-06
      • 1970-01-01
      • 2014-11-13
      • 1970-01-01
      • 2014-12-08
      相关资源
      最近更新 更多