Here is how it would looks like on your controller. You just need to extend CoreFoundation/Http/Controllers/BaseController::class
use CoreFoundation/Http/Controllers/BaseController;
class UserController extends BaseController
{
public function __construct(
protected UserService $userService,
protected UserResource $userResource,
protected UserCollection $userCollection
) {
}
public function index(Request $request): JsonResponse
{
try {
// Your amazing code, something like this.
$filterable = $request->query();
$users = $this->userService->index($filterable);
} catch (Exception $exception) {
return $this->handleException($exception);
}
return $this->successResponse(
message: $this->lang("fetch-success"),
payload: $this->userCollection->collection($users)
);
}
}