Почему этот запрос OData с $ count = true возвращает объект? - PullRequest
1 голос
/ 20 апреля 2020

Я пытаюсь выяснить, как правильно поддерживать возврат количества элементов в (отфильтрованном) наборе данных в моем OData API.

Насколько я понимаю, добавление аргумента $count=true в строку запроса должно позволять это.

Теперь, основываясь на примере из учебника в официальных документах , добавление этого параметра должно заставить веб-API возвращать просто целое число номер:

Запрос ниже возвращает общее количество людей в коллекции.

GET serviceRoot/People?$count=true

Полезная нагрузка ответа

20

С другой стороны hand, этот принятый и вполне одобренный 1 ответ указывает, что запрос с $count=true фактически вернет объект , одно из свойств которого содержит указанное целое число. Он предоставляет примерный запрос к конечной точке образца:

https://services.odata.org/V4/Northwind/Northwind.svc/Customers? $ count = true & $ top = 0 & $ filter = Страна eq 'Германия'

Действительно, фактическим результатом от этой конечной точки является сложный объект

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

вместо ожидаемого результата одного целого числа

11

Почему это так? Я неправильно понимаю документацию?

1 : в момент написания ответа было 25 голосов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...