我正在查询azure活动目录以获取用户列表,一个请求仅获取100条记录。
为了得到更多的记录,我在odata上发出请求。nextLink .
问题是:
- 永远存在,永远不为空。 数据总是被获取。
- 获取的数据重复。
为什么会发生这种情况?
感谢一个解决方法是,除了记录之外,我们还可以选择分页。客户端可以使用带有值"allpages"的$inlinecount查询选项。获取返回集合中项目的总数。
{
"odata.metadata":"http://localhost/$metadata#Products",
"value":[
{ "ID":1,"Name":"Hat","Price":"15","Category":"Apparel" },
{ "ID":2,"Name":"Socks","Price":"5","Category":"Apparel" },
// Others not shown
],
"odata.nextLink":"http://localhost/Products?$inlinecount=allpages"
}
参数"allpages"指示服务器返回页面总数:
{
"odata.metadata":"http://localhost/$metadata#Products",
"odata.count":"50",
"value":[
{ "ID":1,"Name":"Hat","Price":"15","Category":"Apparel" },
{ "ID":2,"Name":"Socks","Price":"5","Category":"Apparel" },
// Others not shown
]
}
有关更多相关问题,您可以参考服务器驱动分页。
参考:https://learn.microsoft.com/en-us/aspnet/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options server-driven-paging