validatedOrDefaults(); $q = $p['q'] ?? ''; $page = (int) $p['page']; $size = (int) $p['size']; // 현재 서비스 시그니처가 list($q, $page, $size)이므로 정합 유지 return $this->service->list($q, $page, $size); }, __('message.fetched')); } public function store(StoreRequest $request) { return ApiResponse::handle(function () use ($request) { return $this->service->create($request->validated()); }, __('message.created')); } public function show(int $id) { return ApiResponse::handle(fn () => $this->service->find($id), __('message.fetched')); } public function update(UpdateRequest $request, int $id) { return ApiResponse::handle(function () use ($request, $id) { return $this->service->update($id, $request->validated()); }, __('message.updated')); } public function destroy(int $id) { return ApiResponse::handle(function () use ($id) { $this->service->delete($id); return null; }, __('message.deleted')); } }