I am trying search functionality through API. I am getting the response with pagination details for the first time but to load more results next_page_url is giving no results
GET http://127.0.0.1:8000/api/search?keyword=cityname&minPrice=0&maxPrice=0&bed=any&propertyType=RESEDENTIAL
I am retuning the results after some very basic filters
$results = $searchQuery->paginate(10);
return response()->json(['results' => $results], 200);
Response I am getting is
"first_page_url": "http://127.0.0.1:8000/api/search?page=1",
"from": 1,
"last_page": 96,
"last_page_url": "http://127.0.0.1:8000/api/search?page=96",
"next_page_url": "http://127.0.0.1:8000/api/search?page=2",
"path": "http://127.0.0.1:8000/api/search",
"per_page": 10,
"prev_page_url": null,
"to": 10,
"total": 956
To load more results I am sending a get request to ‘next_page_url’
GET http://127.0.0.1:8000/api/search?page=2
response is
"results": {
"current_page": 2,
"data": [],
"first_page_url": "http://127.0.0.1:8000/api/search?page=1",
"from": null,
"last_page": 1,
"last_page_url": "http://127.0.0.1:8000/api/search?page=1",
"next_page_url": null,
"path": "http://127.0.0.1:8000/api/search",
"per_page": 10,
"prev_page_url": "http://127.0.0.1:8000/api/search?page=1",
"to": null,
"total": 0
}
My API Route: Route::get('/search', 'SearchController@index');
Advertisement
Answer
Finally I am able to solve by doing simple suggestion by a friend.
I use POST method to search with query params as form data
POST http://127.0.0.1:8000/api/search
then I use next page url as same as above (query params as form data)
POST http://127.0.0.1:8000/api/search?page=2