Microsoft graph api 在MS Graph中处理分页时,是否可以预期a';nextLink';在json对象响应中总是直接在集合之前?

Microsoft graph api 在MS Graph中处理分页时,是否可以预期a';nextLink';在json对象响应中总是直接在集合之前?,microsoft-graph-api,sharepoint-online,Microsoft Graph Api,Sharepoint Online,在上观看了Microsoft视频后,我决定开始测试服务器端分页,方法是在所有Graph API(v1.0)查询响应中查找@odata.nextLink字段,尤其是在SharePoint资源上,其中一位演示者说,nextLink“通常”放在响应中的集合旁边 到目前为止,这就是我在分析查询的json响应时遇到的情况:集合字段紧跟在json对象中的@odata.nextLink字段之后。在下面的示例中,集合字段“value”紧跟在字段“@odata.nextLink”之后。 然而,我有点担心演讲者的

在上观看了Microsoft视频后,我决定开始测试服务器端分页,方法是在所有Graph API(v1.0)查询响应中查找@odata.nextLink字段,尤其是在SharePoint资源上,其中一位演示者说,nextLink“通常”放在响应中的集合旁边

到目前为止,这就是我在分析查询的json响应时遇到的情况:集合字段紧跟在json对象中的@odata.nextLink字段之后。在下面的示例中,集合字段“value”紧跟在字段“@odata.nextLink”之后。

然而,我有点担心演讲者的用词选择(“通常”)。我能指望Graph API总是这样吗

我想知道我是否可以构建我的查询算法,这样每当我遇到nextLink时,我都会将下一个字段作为访问nextLink字段时要执行连接的集合,或者是否存在会破坏算法的情况


谢谢。

在任何序列化响应中,都不应假定固定顺序。在OData的情况下,
nextLink
始终是顶级属性,但返回的集合:

结构或导航特性的所有注释或控制信息必须作为一个组显示在特性本身之前。一个例外是集合的
nextlink
,它可能出现在它注释的集合之后

还值得注意的是,虽然其他注释总是出现在集合之前,但规范没有指定这些注释的顺序(除了一些例外,例如
id
etag


使用JSON时,最好按名称检索属性(通常是通过反序列化响应)。

根据您的响应并查看我的示例,与nextLink关联的集合是否始终命名为“value”?说到分页,“value”是迄今为止我看到的唯一一个集合名称。是的,它将始终以名为
value
的数组返回集合。您可能还会发现OData规范在这里很有用,