Laravel - API Resources - Pagination

You may pass a Laravel paginator instance to the collection method of a resource or to a custom resource collection:

    
    use App\Http\Resources\UserCollection;
    use App\Models\User;
    
    Route::get('/users', function () {
        return new UserCollection(User::paginate());
    });
	

Paginated responses always contain meta and links keys with information about the paginator's state:

    
    {
        "data": [
            {
                "id": 1,
                "name": "Eladio Schroeder Sr.",
                "email": "[email protected]",
            },
            {
                "id": 2,
                "name": "Liliana Mayert",
                "email": "[email protected]",
            }
        ],
        "links":{
            "first": "http://example.com/pagination?page=1",
            "last": "http://example.com/pagination?page=1",
            "prev": null,
            "next": null
        },
        "meta":{
            "current_page": 1,
            "from": 1,
            "last_page": 1,
            "path": "http://example.com/pagination",
            "per_page": 15,
            "to": 10,
            "total": 10
        }
    }