如果我只想从模型中返回一些字段,我应该使用什么方法?我希望能够提出一些字段,如下所示:
?fields=email,expiration_date,avatar(thumb_width,thumb_height,thumb_url)
此表达式也可以是请求中的标头.我也有嵌套对象,比如User中的Avatar.
这将节省我数百MB的流量,因为我的一些模型非常重.
更新:字段选择应该与Json和XML响应一起使用.
解决方法
我找到了一个为你做这个的nuget包
WebApi.PartialResponse
Git hub源代码:
https://github.com/dotarj/PartialResponse
它基本上包装了上面讨论的格式化程序,因此您只需要像这样配置它:
GlobalConfiguration.Configuration.Formatters.Clear(); GlobalConfiguration.Configuration.Formatters.Add(new PartialJsonMediaTypeFormatter() { IgnoreCase = true });
然后,您可以指定?fields =< whatever>在您的请求中,它将返回仅包含指定字段的模型.