在API平台中,有两个不同的设置,对我来说,不清楚它们之间有什么区别。这是pagination_items_per_page和pagination_maximum_items_per_page。在分页文件中,我们详细介绍了如何配置这些设置,而不是何时使用它。
默认(全局)配置如下所示,如配置文档所示。
api_platform:
defaults:
# The default number of items per page.
pagination_items_per_page: 30
# The maximum number of items per page.
pagination_maximum_items_per_page: ~我还跟踪了这个Symfony铸造关于API平台分页的主题,并且只使用了pagination_items_per_page的设置。这意味着,在大多数情况下,这种设置可能是您所需要的。
设置pagination_items_per_page时,是否已经设置了返回多少项。你什么时候使用pagination_maximum_items_per_page
发布于 2021-06-30 09:47:07
由于有一个设置允许API的使用者通过查询参数更改结果的数量,所以pagination_maximum_items_per_page可以确保用户不会输入如此大的值,以致您的结果对于您的资源来说太大了。
若要全局允许将分页用作查询参数,请使用以下配置:
api_platform:
defaults:
pagination_client_enabled: true
pagination_client_items_per_page: true,我仍然有一个悬而未决的问题,,这是您使用pagination_maximum_items_per_page的唯一情况,还是这个设置也阻止了特定资源(例如:@ApiResource(attributes={"pagination_items_per_page"=9999}) )的非常大的分页设置,如果它超过了每个页面设置的最大值,就会覆盖该值。
发布于 2021-06-30 12:35:14
正如您在源代码中所看到的
pagination_items_per_page定义每页项的默认值,它可以通过请求被覆盖。pagination_maximum_items_per_page定义了可能由用户提供的值的上限,以避免用户通过请求所有项来保护您的系统。https://stackoverflow.com/questions/68192400
复制相似问题