如何在Business Central中限制API调用返回的记录数量
解决方案
Business Central API 遵循 OData 协议规范,无需修改服务端配置,直接在请求 URL 拼接查询参数即可实现返回条数限制,和你使用的 Volley 请求库完全兼容。
1. 单次限制返回条数
直接在请求 URL 末尾添加$top参数,参数值为你需要的返回记录数即可。
示例:你需要单次只返回100条记录时,请求URL格式如下:
https://<你的BC实例域名>/api/v2.0/companies(<公司ID>)/<接口资源路径>?$top=100
2. 分页加载全量数据
如果后续需要加载更多记录,可搭配$skip参数实现分页请求,比如要获取第101-200条记录,请求URL如下:
https://<你的BC实例域名>/api/v2.0/companies(<公司ID>)/<接口资源路径>?$top=100&$skip=100
也可以直接使用接口响应中自带的@odata.nextLink字段值作为下一页的请求地址,无需手动计算$skip参数值。
3. 额外优化建议
你还可以添加$select参数只返回业务需要的字段,大幅降低响应体积、提升加载速度。比如你只需要id、商品名称、库存、单价四个字段,请求URL如下:
https://<你的BC实例域名>/api/v2.0/companies(<公司ID>)/<接口资源路径>?$top=100&$select=id,displayName,inventory,unitPrice
服务端全局配置说明
如果需要调整接口默认最大返回条数,可由Business Central管理员在管理中心的「API服务」配置页修改「OData最大页面大小」参数,当前默认值为20000,刚好对应你现在的返回量。不过更推荐使用上述前端查询参数的方案,灵活性更高,也不会影响其他业务的接口调用。
内容的提问来源于stack exchange,提问作者Mohammad Usman Sajid
相关产品推荐
相关产品推荐

