在一个odata查询中$ expand,$ skip和$ top

时间:2014-07-16 12:25:24

标签: javascript odata

是否可以在相同的odata查询中使用$ expand,skip和top?

    example : /product.svc/App('scscascscasc')/App?
    $select=AppID,Platforms&$expand=Platforms&$format=json

5 个答案:

答案 0 :(得分:2)

如OData网站所述

http://host/service/Products?$top=5&$skip=2

扩展实体集可以通过扩展选项的应用进一步细化,扩展选项表示为以分号分隔的系统查询选项列表,括在括号中,请参阅[OData-URL]。

允许的系统查询选项是$ filter,$ select,$ orderby,$ skip,$ top,$ count,$ search,$ expand和$ levels。​​

示例38:对于Customers实体集中的每个客户实体,其金额大于100的相关订单的值将以内联方式表示

http://host/service.svc/Customers?$expand=Orders($filter=Amount gt 100)

答案 1 :(得分:0)

您可以在一个odata查询中使用任何查询选项(一个或多个)。

服务器决定如何应用这些查询选项。

对于$ expand,$ skip和$ top,在一个odata查询中使用所有这些是可能的,也是合理的。

例如HttpGet ~/Customers?$expand=Orders&$skip=5&$top=6

但最后,如上所述,这样的请求需要服务器端的支持。

答案 2 :(得分:0)

根据OData Spec V4,$ expand和$ top支持$ expand,但没有具体项目说$ expand支持混合$ stip和$ top。 http://services.odata.org/V4/TripPinService/Me?$ expand =朋友($ top = 4)可以按规格工作。

答案 3 :(得分:0)

是的,可以在同一odata查询中使用$ expand,skip和top,如下所示:

https://services.odata.org/V3/northwind/northwind.svc/Customers $ expand = Orders&$ top = 3&$ skip = 3 &$ format = json

这是显示客户订单的罗斯文服务查询。它会跳过前3个客户,并显示接下来3个客户的数据。

答案 4 :(得分:0)

您可以在一个odata v4查询中使用任何查询选项(一个或多个)。

由服务器决定如何应用这些查询选项。

“ https:// localhost:44348 / api / Fabrikas?$ expand = Orders($ orderby($ top = 1)”