这是我在另一家公司制作的自定义应用中追踪的API查询,其中没有任何文档符合我的技能,但在您的其中一个内部。
目的是找到任何带有'类别'等于'重要'。
还可以退回带有'类别'的商品。相当于' 3M CGS'以及'重要'。
这里是重要类别的工作代码
//List: Calendar, CATEGORY=IMPORTANT
var queryImportantDept = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/GetByTitle('Calendar')/Items?$select,FileRef=*&$orderby=EventDate%20asc&$top=10&$filter=Category%20eq%20%27Important%27";
$.ajax({ url: queryImportantDept, method: "GET", headers: { "Accept": "application/json; odata=verbose" }, success: onQuerySuccessDeptImportantDates, error: onQueryErrorDeptImportantDates});
答案 0 :(得分:1)
使用ODATA,您可以轻松组合过滤器表达式。所以在你的情况下使用以下表达式
$filter=Category%20eq%20%27Important%27
可以与and
在逻辑上与此表达式结合使用:
$filter=Category%20eq%20%27Important%27%20and%20Category%20eq%20%273M%20CGS%27%20
视觉上更吸引人的可能是这种形式:
$filter=Category eq 'Important' and Category eq '3M CGS'
如果您想要返回实体,如果Category
Important
或 3M CGS
(或两者),您可以使用此表格:
$filter=Category eq 'Important' or Category eq '3M CGS'
如果您有更复杂的情况,或者您更喜欢这种情况,您也可以放在括号中:
$filter=(Category eq 'Important') and (Category eq '3M CGS')
如果您的框架尚未执行此操作,请不要忘记UrlEncode。
有关ODATA查询选项的更多信息,您可以查看http://www.odata.org/documentation/odata-version-3-0/url-conventions/(这是v3,根据您正在与之交谈的系统使用适当的版本)。