ASP.NETCore 2.0 WebAPI控制器有一个方法:
[HttpGet]
public IEnumerable<SourceStat> Get()
{
return SourceStats.ToList();
}
[DataContract]
public partial class SourceStat: PropertyChangedBase
{
[DataMember]
public long SourceStatId { get; set; }
[DataMember]
public int SourceId { get; set; }
[DataMember]
public InformationUnitType InformationUnitType { get; set; }
[DataMember]
public byte SucceedPercentage { get; set; }
[DataMember]
public DateTime Date { get; set; }
public Source Source { get; set; }
}
如果我没有使用SourceStat
属性标记[DataContract]/[DataMember]
,则客户端会获得一个空数组。但是我已经看过很多例子,其中[HttpGet]
方法返回没有这些属性的复杂对象。为什么[DataContract]/[DataMember]
需要我的案子?什么是ASP.NET Core 2.0中使用的默认序列化程序?有没有办法标记除了标记所需属性之外不需要的属性?