robertogallea/laravel-lazy-rest

用于将分页的REST资源透明加载到懒集合中的包

1.1 2020-03-04 07:33 UTC

This package is auto-updated.

Last update: 2024-09-08 00:37:31 UTC


README

此包提供了使用Laravel LazyCollection功能加载RESTful分页资源的功能。这样,就不需要复杂的按需分页数据处理机制,因为该包会为您透明地管理所有复杂性,并且仅在需要时管理。

$paginatedEndpoint = 'http://api.with-15-elements-per-page';

$collection = \LazyRest::load($paginatedEndpoint);

// Loads only first page
dump($collection->skip(10)->first());
 
// loads all the pages
dump($collection->last());

1. 安装

要安装此包,请运行以下命令

composer require robertogallea/laravel-lazy-rest

包中包含的ServiceProvider和Facade别名将自动使用Laravel自动发现服务进行加载。

2. 配置

默认情况下,该包配置为在JSON响应中搜索data字段,并搜索next_page_url以检测如何获取结果的下一页。但是,您可以轻松地通过覆盖默认配置来更改此行为

  1. 发布配置:php artisan vendor:publish --provider="robertogallea\LaravelLazyRest\LazyRestServiceProvider" --tag=config

  2. 编辑config/lazy-rest.php

'fields' => [
    'next_page_url' => 'next_page_url',
    'data' => 'data',

    'timeout' => 5.0,
];

如果数据在响应的根目录中,请使用_字符作为字段名(即使这意味着您的端点不提供分页数据)。

3. 问题、疑问和拉取请求

您可以在问题部分中报告问题并提出疑问。请以ISSUE:开头报告问题,以QUESTION开头提问

如果您有疑问,请先查看已关闭的问题。随着时间的推移,我已经回答了许多问题。

要提交拉取请求,请先分叉此存储库,创建一个新的分支,并在其中提交您的新/更新代码。然后从您的分支打开拉取请求。有关更多信息,请参阅此指南