使用ASP.NET WebAPI发布复杂对象

时间:2016-06-07 10:19:25

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

如何使用WebClient对象发送如下的POST请求:

public static void SaveOrUpdateEntity(string url, object data)
{
    using (var client = new WebClient())
    {
        // TODO
    }
}

dataPerson个对象。

这是控制器方法

[HttpPost]
public void Post([FromBody]Person person)
{
    VeranaWebService.SaveOrUpdatePerson(person);
}

Person

public class Person
{
    public string Name { get; set; }
    public string FirstName { get; set; }
    public DateTime? BirthDate { get; set; }
    public byte[] Photo { get; set; }
}

1 个答案:

答案 0 :(得分:5)

您可以使用Newtonsoft.Json来帮助您将数据序列化为json对象。它可以像这样使用

using Newtonsoft.Json;

public static void SaveOrUpdateEntity(string url, object data)
{    
    var dataString = JsonConvert.SerializeObject(data);

    using (var client = new WebClient())
    {
        client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
        response = client.UploadString(new Uri(url), "POST", dataString);
    }
}

要了解有关newtonsoft库的更多信息,请阅读here