根据documentation,要查询记录,您必须使用此端点/<module>/:recordId
,但如果我想获取给定模块的所有记录,该怎么办?我找不到任何相关的文档。
我尝试/<module>/filter
设置json参数,如下所示:
{
"max-num": "-1",
"offset": "0",
"order-by": "date-entered",
"favorites": false,
"my-items": false
}
但只返回20条记录?
当然,我尝试使用大量数字自定义"max-num"
,但仍会返回20条记录。
我需要帮助
答案 0 :(得分:1)
该选项的名称为max_num
(包含下划线字符),不是 max-num
。
但是,服务器端还有另一个限制,如果其值太高,将会否决max_num
。
默认的服务器端最大限制为1000,但可以通过将$sugar_config['max_record_fetch_size']
设置为所需的数字来增加配置。
如果您想确保获得所有记录,通常最好在响应中检查next_offset
。
只要它不是-1
,就会有比返回的更多的记录。
在这种情况下,您应该在请求中发送另一个next_offset
的值为offset
的请求,以获取记录的下一个“页面”。
备注强>
fields
数组,其中包含您需要的字段名称。否则,在检索大量记录时,最终可能会浪费大量时间/带宽/内存。$sugar_config['max_record_fetch_size']
也会影响,例如在列表视图中使用“全选”可以记录多少条记录。分页示例
在下面的示例中,我们将从服务器获取所有记录,每个请求的批量/页数为1000。对于此示例,我们假设服务器总共有2341条记录。
我们请求1000条记录,从偏移0
开始,这是第一条可用的记录:
请求#1
{
offset: 0,
max_num: 1000
}
注意:如果未指定偏移量,则假定为0。
来自服务器的响应#1
{
next_offset: 1000,
records: [array of 1000 records]
}
我们在 Response#1 中收到前1000条记录(偏移0到999),我们不的第一条记录的偏移量为{{1在1000
因此我们再次请求1000条记录,从偏移1000处的记录开始:
请求#2
next_offset
来自服务器的响应#2
{
offset: 1000,
max_num: 1000
}
我们在 Response#2 中收到了接下来的1000条记录(抵消1000到1999),我们不的第一条记录的偏移量为{{1} } {在 {
next_offset: 2000,
records: [array of 1000 records]
}
因此我们再次请求1000条记录,从偏移2000处的记录开始:
请求#3
2000
来自服务器的响应#3
next_offset
在 Response#3 中,我们收到341条记录(抵消2000至2340)和{
offset: 2000,
max_num: 1000
}
条 {
next_offset: -1,
records: [array of 341 records]
}
,表示没有更多记录。
这意味着我们现在已收到所有1000 + 1000 + 341 = 2341条记录。
结果概述:
next_offset