首页 > 解决方案 > 在 Business Central 中限制通过 API 调用获取的记录数

问题描述

设想:


你好,

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

问题:


那么,有没有办法限制你所说的项目、值、行或记录的数量?就像在商业中心一样。

解释:


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

我可能不必提及我用来获取数据的库,因为我认为它可以通过 Business Central 解决,但以防万一。

"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.

提前致谢。

标签: kotlinandroid-volleydynamics-365dynamics-business-central

解决方案


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

Prefer: odata.maxpagesize=300

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


推荐阅读