如何编写OData调用以获取具有等于空数组的特定属性的所有实体

时间:2017-11-22 20:44:25

标签: rest odata

我有一个使用REST / OData的api。所有产品都具有可扩展属性,即对象数组。但是有些产品缺少这些物品。我需要通过过滤掉数组中包含内容的所有内容,并返回所有具有空数组的内容来找到哪些内容。

这里是普通对象的结构:

{
    "odata.metadata": "https://myapi.com/$metadata#Products",
    "value": [
        {
            "Name": "myName"
            "StatusId": 1,
            "Id": 88,
            "DateCreated": "2015-01-22T14:30:00.6611598",
            "DateModified": "2015-01-22T23:48:41.4590534",
            "ProductPropertyArray": [
                {
                    "Property1": 1,
                    "Property2": 3
                },
                {
                    "Property1": 4,
                    "Property2": 2
                }
            ]
        }
    [
}

我试过了:

myapi.com/Products?$filter=length(ProductPropertyArray) eq 0

但这不起作用,因为它想要一个字符串。

我也试过

myapi.com/Products?$filter=ProductPropertyArray eq null

但这也不起作用。

1 个答案:

答案 0 :(得分:0)

请像这样调用api时使用Prefer Prefer ='odata.include-annotations =“*”,return = representation'