您的位置:首页 > 其它

SharePoint REST API - OData查询操作

2017-09-08 15:56 351 查看
博客地址:http://blog.csdn.net/FoxDave
本篇主要讲述SharePoint REST中OData的查询操作。SharePoint REST服务支持很多OData查询字符串操作,可以对你请求的数据进行查询、筛选和排序。
查询返回字段
使用$select查询操作来指定对于既定的列表或列表项(其他集合类的SharePoint数据也可)需要返回哪些字段。可以使用$select=*来返回所有可用的字段。
一般来说,如果不指定$select参数,那么默认REST服务会返回所有可用的字段。然而在一些情况下,一些SharePoint对象包含了非常耗费资源的属性。为了优化REST的性能,这些属性不会包含在默认的查询中,因此必须进行显示声明。比如,SPWeb.EffectiveBasePermissions属性默认是不返回的,必须在$select查询选项中显示声明。
而且,你还可以指定来自其他列表的查阅项字段,如下例: http://server/site/_api/web/lists('guid')/items?$select=Title,Products/Name&$expand=Products/Name
查询要返回的列表项
使用$filter参数来指定需要SharePoint REST服务返回哪些值,具体参照本文后面的部分。
查询单值查阅项字段
单值查阅项字段在SharePoint REST服务中通常用两个独立的字段来表示。一个表示真实的字段值,另一个表示字段名称。
查询用户
在SharePoint REST服务中,用户使用友好名称(显示名称)来表示,所以不能用域名去做查询。注意用户查询不支持基于Membership形式的认证,并且不支持使用Current操作符使用当前用户的ID来做查询。
查询多值查阅项字段和用户
不支持。
返回结果排序
使用$orderby查询选项来指定如何对返回的结果集进行排序。如果要对多个字段进行排序,使用逗号分隔。你也可以通过在查询中指定asc和desc关键字来指定是升序还是降序排序。
对返回的结果进行分页
使用$top和$skiptoken查询选项来查询返回结果的子集。注意$skip查询选项不支持SharePoint列表项的查询。$top选项跟SQL一样,用来指定你想返回结果集的前多少条信息,比如top 10: http://server/site/_api/web/lists('<guid>')/items$top=10
$skiptoken选项用来指定跳过多少条信息之后返回结果。
$skiptoken=Paged=TRUE&p_ID=5

注意这种查询是有序的,举个例子来说,你有一个下一页的操作按钮,当第一次返回1-20条结果到点击下一页返回21-40条结果这个过程中,另一个用户删除了列表项3和16。此时你获得的下一页的返回结果中,跳过了2个列表项。
SharePoint REST服务中支持的OData查询操作符

SupportedNot supported
Numeric comparisons Lt Le Gt Ge Eq NeArithmetic operators (Add, Sub, Mul, Div, Mod) Basic math functions (round, floor, ceiling)
String comparisons startsWith substringof Eq NeendsWith replace substring tolower toupper trim concat
Date and time functions day() month() year() hour() minute() second()DateTimeRangesOverlap operator Querying as to whether a date time falls inside a recurrent date time pattern
也可以参见下图


本节就阐述到这里。
注意,由于CSDN恶心的bug,文章的发布时间为草稿的创建时间,所以下一篇文章的位置比较靠前,在这里挂一下链接,之后发的内容会尽量注意一下这点,向读者表示歉意。
http://blog.csdn.net/foxdave/article/details/71055076
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐