使用WebAPI的C#ASP.NET Webform站点
我有一个petapoco类,它有50个属性,但对于某些WebAPI方法,我想过滤哪些属性被序列化并发送到HttpResponseMessage中的客户端(以减少有效负载)。
例如,假设我在类中有以下类属性:
ID, FirstName, LastName, Address, City, State, Zip, DOB
我需要一些WebApi方法来序列化每个属性,但也许我想要返回的另一种方法
ID, FirstName, LastName
是否有内置的方法来处理这个问题? 如果没有,那么构建一些东西来处理这个问题的最佳方法是什么?
编辑:我正在寻找一种不修改课程的方法
答案 0 :(得分:0)
您应该能够为每个属性创建ShouldSerialize方法。
Xml serialization - Hide null values
使您能够动态决定哪些字段被序列化。不要担心链接说XML,也应该适用于JSON序列化。
答案 1 :(得分:0)
使用JsonIgnoreAttribute从序列化中排除属性。
例如在model.cs中:
public class Account
{
public int ID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
[JsonIgnore]
public string Address { get; set; }
[JsonIgnore]
public string City { get; set; }
[JsonIgnore]
public string State { get; set; }
.
.
.
}