public function index(Request $request)
{
$sortBy = $request->get('sort_by', 'id');
$sortOrder = $request->get('sort_order', 'asc');
$posts = Post::orderBy($sortBy, $sortOrder)->paginate(10);
return response()->json([
'data' => $posts->items(),
'meta' => [
'current_page' => $posts->currentPage(),
'per_page' => $posts->perPage(),
'total' => $posts->total(),
'last_page' => $posts->lastPage(),
],
'links' => [
'next' => $posts->nextPageUrl(),
'previous' => $posts->previousPageUrl(),
],
]);
}
Add query parameters for filtering: