Sitefinity - 正确的OData URL过滤数组/分类

时间:2016-08-29 21:23:09

标签: json odata sitefinity

我正在使用内置的Web Service API in Sitefinity 9.1,它符合OData标准。

我有一个像这样的URL来接收我想要的格式的JSON:

/api/stories/storyitems?$select=Title,Summary,ageranges,UrlName,topics,ButtonText

我有一个来自该服务的JSON,如下所示:

"value": [
    {
    "Title": "Developing Reading Skills",
    "Summary": "Lorem ipsum dolor sit amet",
    "ageranges": [
        "3ca54b5b-06ab-63fa-8375-ff00000b3273"
    ],
    "topics": [
        "f0a84b5b-06ab-63fa-8375-ff00000b3273",
        "efa84b5b-06ab-63fa-8375-ff00000b3273"
    ],
    "ButtonText": "Learn More",
    "UrlName": "developing-reading-skills"
    }
    ....
]

这很有用,但我在按年龄范围或主题过滤此服务时遇到问题。

我尝试过几种不同的解决方案。这似乎是标准的OData过滤方式,但这会引发错误。我不确定这是我的格式化还是Sitefinity实现的问题。有人可以证实吗?

/api/stories/storyitems?$filter=any(ageranges eq '3ca54b5b-06ab-63fa-8375-ff00000b3273')&$select=Title,Summary,ageranges,UrlName,topics,ButtonText

这是我在JSON中得到的错误:

{
    "error": {
        "code": "",
        "message": "An error has occurred."
    }
}

谢谢!

2 个答案:

答案 0 :(得分:1)

尝试:

Foo

答案 1 :(得分:1)

我被引导到this article,表明这是正确的方法:

/api/stories/storyitems?$filter=Category/any(s:s eq d81e4d00-afe6-60df-84cd-ff0000aaa3eb)&$select=Title,Summary,ageranges,UrlName,topics,ButtonText