将模型从.Net客户端发送到WebApi Server

时间:2017-09-20 08:49:27

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

有一个非常简单的问题,但我无法找到答案。我有多个领域的模型。例如:

public class BillingInfoViewModel
{
    //Distributor Information
    public string DistributorName { get; set; }
    public string DistributorEmail { get; set; }
    public string DistibutorPhone { get; set; }
    public CompanyCode CompanyCode { get; set; }

    //ECU information
    public string EcuName { get; set; }
    public string EcuPartNumber { get; set; }
    public string EcuProgramName { get; set; }

   //Lot of fields 
}

这是我应该发送给服务器的信息。我怎么能这样做?我应该逐个发送这个字段吗?

public void ApiController(string DistributorName, string DistributorEmail, ..othern fields)

在什么情况下我可以发送所有对象?

public void ApiController(BillingInfoViewModel model)

P.S。我通过System.Net.Http.HttpClient发送信息

2 个答案:

答案 0 :(得分:1)

如果您使用的是Asp.NET WebAPI

试试这个例子:

public class BillingController{

public IHttpActionResult Post([FromBody]BillingInfoViewModel model){
 // HERE YOU GET THE BillingInfoViewModel obj from the call (in POST)
}

}

希望有所帮助

答案 1 :(得分:1)

通常,复杂参数类型与POST动词一起传递。您可以使用GET动词,但它在浏览器中具有URL限制,并且参数可见。以下是参数绑定的详细指南,介绍了实现需求的几种方法。

https://docs.microsoft.com/en-us/aspnet/web-api/overview/formats-and-model-binding/parameter-binding-in-aspnet-web-api