用于HttpClient的动态绑定模型

时间:2016-09-07 16:58:45

标签: model-binding dotnet-httpclient

我有一个Web Api,它接受一个complex对象并将其添加到数据库中。

var myWidgit= new Widgit() { 
  Name = "WidgitName", 
  Price = 50, 
  Category = "Appliance" };

HttpResponseMessage response = client.PostAsync("api/createwidgit", myWidgit);

我需要对API进行一次性调用,我希望避免为Widgit创建单独的类文件。

有没有办法定义Widgit类并在使用它的方法中赋值?有点像这个方法中使用的dynamic类。

1 个答案:

答案 0 :(得分:0)

我想我想出来了......

HttpResponseMessage response = client.PostAsync("api/createwidgit", new StringContent(string.Format("Name={0}&Price={1}&Category={2}", HttpUtility.UrlEncode("WidgitName"), HttpUtility.UrlEncode(50), HttpUtility.UrlEncode("Appliance"), Encoding.UTF8, "application/x-www-form-urlencoded"));

基本上我想要创建的dynamic对象是使用

完成的
new StringContent(string.Format("Name={0}&Price={1}&Category={2}", HttpUtility.UrlEncode("WidgitName"), HttpUtility.UrlEncode(50)), HttpUtility.UrlEncode("Appliance"), Encoding.UTF8, 
    "application/x-www-form-urlencoded")

抱歉,我无法找到更好的格式