我无法在Asp.Net MVC 4上使用Restsharp序列化复杂对象。当我发送它时,对象没有到达完整对象,它只到达字符串或int或long,列表甚至是IList不会到达对象
这是我的目标:
public class Project
{
public long Id { get; set; }
public string NumPol { get; set; }
public string Name { get; set; }
public string Status { get; set; }
public System.DateTime CreationDate { get; set; }
public System.DateTime RenewalDate { get; set; }
public System.DateTime ExpirationDate { get; set; }
public long Notification { get; set; }
public decimal TotalSum { get; set; }
public int NoRenewal { get; set; }
public int Cancellation { get; set; }
public IList<Coin> Coinss { get; set; }
}
public class Moneda
{
public int Id { get; set; }
public string Name { get; set; }
}
和Restsharp:
RestClient client = new RestClient("http://localhost:9212/");
RestRequest request = new RestRequest("Pol/CreatePol", Method.PUT);
request.RequestFormat = DataFormat.Json;
request.AddObject(project);
IRestResponse<ProjectoPol> response = client.Execute<ProjectoPol>(request);
关于如何解决这个问题的任何建议??
答案 0 :(得分:1)
基于您正在设置
的事实request.RequestFormat = DataFormat.Json;
我假设您希望project
对象作为请求正文中的JSON。为此,您将使用
request.AddBody(project);
而不是
request.AddObject(project);
我从未使用过AddObject(),但如果我正确理解了源代码注释,它会将对象的属性作为表单参数添加到您的请求中。