*/ final class AnimeCharactersLookupHandler extends RequestHandlerWithScraperCache { protected function resource(CachedData $results): JsonResource { return new AnimeCharactersResource($results); } /** * @inheritDoc */ public function requestClass(): string { return AnimeCharactersLookupCommand::class; } protected function getScraperData(string $requestFingerPrint, Collection $requestParams): CachedData { $id = $requestParams->get("id"); return $this->scraperService->findList( $requestFingerPrint, fn (MalClient $jikan, ?int $page = null) => $jikan->getAnimeCharactersAndStaff(new AnimeCharactersAndStaffRequest($id)) ); } }