Skip to main content
 首页 » 编程设计

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

2024年01月31日22zhoujg

如何使用 WebClient 对象来发送这样的 POST 请求:

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

其中 data 是一个 Person 对象。

这是 Controller 方法

[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; } 
} 

请您参考如下方法:

您可以使用 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