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



我使用的是Sitefinity 9.1中内置的Web Service API,它遵循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."
    }
}

谢谢!

try:

?$filter=ageranges/any(a: a eq 'xxxx')

这篇文章指出这是正确的方法:

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

最新更新