20

有什么方法可以在没有任何值数组的情况下仅获取响应有效负载中的数据计数?

我将 ODataV4.0 与 Webapi 2.2 一起使用。目前,当我查询以下内容时,它会返回所有值和计数: http://odata/People?$count=true

我只需要类似"@odata.count":1, "value":[]或没有的东西"value"

是为这项工作发挥作用的唯一方法吗?

4

2 回答 2

42

将 设置$top为零$counttrue

例如: http ://services.odata.org/V4/Northwind/Northwind.svc/Customers?$count=true&$top=0

返回计数但没有结果

{
    "@odata.context": "http://services.odata.org/V4/Northwind/Northwind.svc/$metadata#Customers",
    "@odata.count": 91,
    "value": []
}

计数是在应用 之后计算的$filter,但不考虑$top$skip

例如:http ://services.odata.org/V4/Northwind/Northwind.svc/Customers?$count=true&$top=0&$filter=Country%20eq%20%27Germany%27

通知您有 11 个国家/地区为“德国”的结果,但未在响应中返回任何记录。

于 2015-05-10T17:11:28.870 回答
12

您还可以附加 $count 作为路径元素来获取原始计数,例如,

https://services.odata.org/V4/Northwind/Northwind.svc/Customers/ $count

这也适用于应用的过滤器等: https : //services.odata.org/V4/Northwind/Northwind.svc/Customers/ $count?$filter=Country%20eq%20%27Germany%27

对于德国的客户计数。

于 2019-08-05T21:23:09.253 回答