Asp.net web api 一种在web api响应中动态返回部分对象的好方法?
我们有一个WebAPI项目,它返回如下对象Asp.net web api 一种在web api响应中动态返回部分对象的好方法?,asp.net-web-api,design-patterns,Asp.net Web Api,Design Patterns,我们有一个WebAPI项目,它返回如下对象 public class ChargesInfo { public string Code { get; set; } public decimal? Amc { get; set; } public DateTime? AmcDate { get; set; } public string AnnualChargeNote { get; set; } ..
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
method)
这听起来是个好计划吗?有谁有更好的设计想法吗?您可以使用具有开箱即用功能的
或者像嗨,这听起来很有趣,但我对Odata的了解还不够,你的意思是我不需要编写任何代码来返回单个属性,而且都是由底层Microsoft代码完成的吗?这取决于具体情况。选择最适合你的方式。阅读更多关于OData的信息,尝试编写自定义ContractResolver,然后您将看到更好的方法
api/returnFundInfo?$select=amc,amcdate,AnnualChargeNote