限制通过 Business Central 中的 API 调用获取的记录数量

问题描述 投票:0回答:2

场景:


嗨,

我正在使用 volley 库从 Kotlin 中的业务中心 API 获取一些数据,但问题是,JSON 响应大约有 20000 个值或记录,JSON 的大小约为 12MB,需要花费大量时间和资源才能获取并操纵那么多数据。

问题:


那么,有没有一种方法可以限制您所说的项目、值、行或记录的数量? 可能就像在商务中心一样。

说明:


这样的记录大约有 20000 条,我想将它们限制在特定数量。

我可能不必提及我用来获取数据的库,因为我认为这可以通过业务中心解决,但以防万一我这样做了。

"value": [
        {
            "id": "00000000-0000-0000-0000-000000000000",
            "number": "",
            "displayName": "",
            "type": "",
            "itemCategoryId": "00000000-0000-0000-0000-000000000000",
            "itemCategoryCode": "",
            "blocked": false,
            "gtin": "",
            "inventory": 0,
            "unitPrice": 0,
            "priceIncludesTax": false,
            "unitCost": 0,
            "taxGroupId": "00000000-0000-0000-0000-000000000000",
            "taxGroupCode": "",
            "baseUnitOfMeasureId": "",
            "baseUnitOfMeasureCode": "",
            "lastModifiedDateTime": ""
        },
        {},
        {},
        {},
        {},
        {},
        {}, 
        ............. upto to so on.

提前致谢。

kotlin android-volley dynamics-365 dynamics-business-central
2个回答
2
投票

要对请求设置分页,请使用 HTTP 请求的 Prefer 标头中的 odata.maxpagesize 首选项:

Prefer: odata.maxpagesize=300

请参阅 MS Docs - OData Web 服务中的服务器驱动分页


0
投票

那么,有没有办法限制记录的数量

是的,有查询选项

$top=n
,用于限制从后端系统检索的数据量。
例如,查询选项
$top=10
将从 OData 服务中检索前 10 条记录。

© www.soinside.com 2019 - 2024. All rights reserved.