How to get only Odata.Count without value

自作多情 提交于 2020-06-27 06:50:12

问题


Is there any way I can get only count of the data in response payload without any value array?

I am using ODataV4.0 with Webapi 2.2. Currently it returns all the values and count when I query something like: http://odata/People?$count=true

I just need something like "@odata.count":1, "value":[] or without "value".

Is the only way to have function for this job?


回答1:


Set the $top to zero and $count to true.

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

returns the count but no results

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

Count is calculated after applying the $filter, but without factoring in $top and $skip.

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

informs you that there are 11 results where the Country is 'Germany', but without returning any records in the response.




回答2:


You can also append $count as a path element to just get a raw count, E.G.,

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

This will also work with filters, etc, applied: https://services.odata.org/V4/Northwind/Northwind.svc/Customers/$count?$filter=Country%20eq%20%27Germany%27

For a count of Customers in Germany.



来源:https://stackoverflow.com/questions/30123094/how-to-get-only-odata-count-without-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!