Mis*_*rin 5 api symfony api-platform.com
我正在将 Symfony API 与 Angular 客户端结合使用。当尝试从报价表中获取数据时,当我想要获取所有内容时,最多只能得到 30 个结果。我在 API 上使用 Sellsy。在 SellsyService.php 中,我猜想当我尝试获取报价时会调用此函数:
public function getQuotations()
{
$devisRequest = array(
'method' => 'Document.getList',
'params' => array(
'doctype' => "estimate",
'pagination' => array(
'nbperpage' => 4999,
),
'search' => array(
//'steps' => ['sent','accepted']
'steps' => explode(
",",
"draft,due,payinprogress,paid,late,sent,read,accepted,contested,expired,advanced,partialinvoiced,invoiced,stored,spent,partialspend,refused"
),
),
),
);
$devislist = $this->sellsy->requestApi($devisRequest);
return $devislist;
}
Run Code Online (Sandbox Code Playgroud)
我真的不知道去哪里找,我没有开发这个API。当在项目中查找“30”时,我可以在缓存中看到:
'api_platform.eager_loading.max_joins' => 30,
'api_platform.collection.pagination.items_per_page' => 30,
Run Code Online (Sandbox Code Playgroud)
不知道跟我的问题有没有关系。这是配置 api_platform.yaml:
api_platform:
swagger:
api_keys:
apiKey:
name: Authorization
type: header
mapping:
paths: ['%kernel.project_dir%/src/Entity']
Run Code Online (Sandbox Code Playgroud)
我应该在哪里设置这个 30 的限制?
Dyl*_*Kas 10
API平台有分页功能。
正如您所猜到的,默认情况下它是 30。
API Platform Core 对分页集合提供本机支持。默认情况下,所有集合都启用分页。每个集合每页包含 30 个项目。
所以你有多种选择来解决你的问题。
否则,您可以更新配置以禁用分页。
从文档中:
全局禁用分页
# api/config/packages/api_platform.yaml
api_platform:
defaults:
pagination_enabled: false
Run Code Online (Sandbox Code Playgroud)
禁用特定资源的分页
<?php
// api/src/Entity/Quotation.php
use ApiPlatform\Core\Annotation\ApiResource;
/**
* @ApiResource(attributes={"pagination_enabled"=false})
*/
class Quotation
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
或者,如果您不想禁用它,但增加每页的项目数:
全局更改每页的项目数
# api/config/packages/api_platform.yaml
api_platform:
defaults:
pagination_items_per_page: 100 # Default value
Run Code Online (Sandbox Code Playgroud)
更改特定资源的每页项目数
<?php
// api/src/Entity/Quotation.php
use ApiPlatform\Core\Annotation\ApiResource;
/**
* @ApiResource(attributes={"pagination_items_per_page"=100})
*/
class Quotation
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
您还可以执行其他操作,例如部分分页或更改客户端每页的项目数,但我建议您仅查看文档。
| 归档时间: |
|
| 查看次数: |
6849 次 |
| 最近记录: |