如何将类对象和列表传递给web api?

时间:2016-02-17 16:17:20

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

这是在控制器

[HttpPost]
    public void SendMailMessageFromandToList(string fromusername, MailMessage mailMessage,List<string> tousernamelst)
    {
    }

我需要知道如何使用HttpClient调用此方法。我试过只传递类对象,它工作正常。

confClient.PostAsJsonAsync("api/Utility/SendMailMessageFromandToList?fromusername="+ fromusername +"", mail1); 

1 个答案:

答案 0 :(得分:0)

通常,您需要使用标准的http查询语法来添加多个参数:

/api/Utility/SendMailMessageFromandToList**?**fromusername=example**&**mailMessage=...

要在网址中传递list参数,您可以按照本文中所述的以下方法: Passing a List<string> to an MVC Web API method using the browser bar

  

查询字符串参数应为此格式   ... / APIName参数[] =值1&安培;参数[] =值2&安培; ....

<强>更新

您可以将PostAsJsonAsync方法中的复杂对象作为第二个参数传递:

class ExampleModel {
 public string property1 {get;set;}
 public IList<string> property2 {get;set;}
}
var complexObject = new ExampleModel();
//Set your values here then post it
client.PostAsJsonAsync("api/Utility/SendMailMessageFromandToList",complexObject);

您只需要创建一个具有三种类型属性的对象。