【问题标题】:How to remove properties which have no data from web api response [duplicate]如何从Web api响应中删除没有数据的属性[重复]
【发布时间】:2018-02-22 04:00:41
【问题描述】:

我有这样的课

 public class CommonMasterDataResponse
{
    public List<MyClass> dto1{ get; set; }
    public List<MyClass> dto2 { get; set; }
    public List<MyClass> dto3 { get; set; }
    .
    .
    .
    public List<MyClass> dto100 { get; set; }
}

我已经从我的 web api 方法返回它。现在我想删除所有没有数据的属性。就像在 web api 中我已将数据分配给 dt01 和 dto2 然后如果我返回 CommonMasterDataResponse 对象,那么它只呈现 dto1 和 dto2。 我对 c# 很陌生。请给我建议如何实现这一点。

【问题讨论】:

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


    【解决方案1】:

    你能试试这段代码吗?

    public class CommonMasterDataResponse
    {
        public CommonMasterDataResponse()
        {
    
        }
    
        public bool ShouldSerializeDto1()
        {
            return Dto1.Any();
        }
    
        [XmlElement(IsNullable = true)]
        public List<string> Dto1 { get; set; }
    }
    

    但是,我认为总的来说这是一种不好的做法。尝试为每个 DTO 创建单独的 Dto 和 API 端点。这样你就可以避免这种情况。它易于编码和维护。另外,我相信这会影响服务器和客户端的性能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-08
      • 2021-12-30
      • 2016-10-20
      • 2014-10-15
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多