Сравнение дат OData V4

#api #odata #webapi

#API #odata #webapi

Вопрос:

Мне нужна помощь в решении этой проблемы. У меня есть серверная часть с c # в Net Core 3.0, и у меня есть машинный объект с рядом атрибутов среди них, 3 объекта типа Datetime. (Я установил пакет NuGet ‘Microsoft.AspNetCore.OData 7.5.2’)

В моей базе данных у меня есть эти объекты с таким типом формата (например: AssemblyDate : 2014-02-27 00:00:00.000)

В моем Postman я пытаюсь создать следующую консультацию OData: https://localhost:xxxxx/api/v1/Machine/OData ?$top=11amp;$skip=0amp;$filter=Дата сборки ge 2013-10-30T00:00:00.000Z

Но результат, который я получаю, таков: невозможно привести объект типа ‘Microsoft.OData.UriParser.Преобразуйте NODE’ в type’Microsoft.OData.UriParser.SingleValuePropertyAccessNode

Я не понимаю, в чем проблема. Пожалуйста, помогите мне с этим.

Ответ №1:

Я думаю, что проблема в URL-адресе в вашем примере. Вы сказали, что объект, который вы запрашиваете, является объектом «Machine», но в размещенном вами URL-адресе есть дополнительная навигация по «OData». Попробуйте: https://localhost:xxxxx/api/v1/Machine?$top=11amp;$skip=0amp;$filter=AssemblyDate ge 2013-10-30T00:00:00.000Z

Предполагается, что конечной точкой для набора объектов ‘Machine’ является ‘Machine’. Однако, насколько мне известно, соглашение заключается в том, чтобы сделать конечную точку множественной, чтобы она могла быть «Машинами».