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

C# 如何将类对象和列表传递给web api?,c#,asp.net-web-api,C#,Asp.net Web Api,这是控制器 [HttpPost] public void SendMailMessageFromandToList(string fromusername, MailMessage mailMessage,List<string> tousernamelst) { } 通常,您需要使用标准http查询语法来添加多个参数: /api/Utility/SendMailMessageFromandToList**?**fromusername=example**&

这是控制器

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

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

/api/Utility/SendMailMessageFromandToList**?**fromusername=example**&**mailMessage=...
要在url中传递列表参数,可以遵循本文中说明的以下方法:

查询字符串参数应为此格式 …/APIName?参数[]=value1和参数[]=value2和

更新

可以将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);
类示例模型{
公共字符串属性1{get;set;}
公共IList属性2{get;set;}
}
var complexObject=new ExampleModel();
//在此处设置值,然后发布
client.postsjsonasync(“api/Utility/SendMailMessageFromandToList”,complexObject);

您只需要创建一个以三种类型作为属性的对象。

您的意思是您正在使用HttpClient,并且想知道如何调用该操作并传入名称、消息和列表?是的,我想知道,如何在PostAsJsonAsync中同时传递这三个参数。到目前为止,您做了哪些尝试?你有没有阅读过有关的文件?关于构建一个模型呢?您确实需要付出一些努力。我试图阅读联机文档,但在联机时找不到传递类对象和列表的任何链接。我知道如何传递多个字符串参数或多个字符串参数以及列表或类,但不能同时传递两者。谢谢您的回复。我将尝试这个方法。如果列表中的参数数量较少,而不是超过10个,则此方法会很好。有没有其他方法,我可以用来传递字符串、列表和类对象。很抱歉,我正忙着用代码来传递值的不同方法,因此,我很晚才回复。正如您所建议的,complexObject将类似于列表或类,对吗?。如果是这样的话,我试着只将类或列表传递给web api,这是可行的。抱歉,我的问题是我需要同时传递列表和类。您可以定义一个包含所有需要传递的类型的模型类,并使用此模型类进行回发。您将在服务器上收到这个模型类,并可以提取您需要的所有值。是的,我认为应该可以。谢谢你的建议。
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);