在Web API响应中动态返回部分对象的一种不错的方法?

时间:2019-08-09 15:30:48

标签: asp.net-web-api design-patterns

我们有一个Web api项目,该项目返回

之类的对象
    public class ChargesInfo
    {
        public string Code { get; set; }
        public decimal? Amc { get; set; }
        public DateTime? AmcDate { get; set; }
        public string AnnualChargeNote { get; set; }
        .....
    }

我们希望允许我们的客户动态返回部分数据。 例如,他们可以这样称呼:api/returnFundInfo?fields=amc,amcdate,AnnualChargeNote,我们将只返回请求的字段。

我认为,在业务逻辑中,我们仍然填充所有字段。然后,在输出数据时,我可以使用一些技巧来排除某些字段(可能是Newton Json的ShouldSerialize方法)

这听起来不错吗?任何人都有更好的设计想法?

1 个答案:

答案 0 :(得分:1)

您可以使用OData的现成功能$select

api/returnFundInfo?$select=amc,amcdate,AnnualChargeNote

或像here

那样手动实施