- Ajout d'une pagination

- Résultats plu pertinent, affichage des livres seulement
This commit is contained in:
2025-01-30 09:19:46 +01:00
parent ed268e96fa
commit 31f64b9e5a
3 changed files with 58 additions and 4 deletions

View File

@ -23,9 +23,11 @@ class APISearchController extends AbstractController
{
// Récupérer le paramètre "q" depuis la requête
$query = $request->query->get('q');
$nb_pages = $request->query->get('page') ?? '1';
// Appeler le service GoogleBooks avec la requête
return $this->googleBooksService->searchBooks($query);
return $this->googleBooksService->searchBooks($query, 'fr', ($nb_pages - 1) *10);
}
#[Route('/toggleLike/{idGoogle}', name: 'like', methods: "POST")]

View File

@ -13,20 +13,22 @@ class GoogleBooksService
$this->client = $client;
}
public function searchBooks(string $query, string $lang = 'fr'): array
public function searchBooks(string $query, string $lang = 'fr', string $nb_pages): array
{
$url = 'https://www.googleapis.com/books/v1/volumes';
$response = $this->client->request('GET', $url, [
'query' => [
'q' => $query,
'langRestrict' => $lang,
'maxResults' => 10,
'startIndex' => $nb_pages,
'printType' => 'books',
],
]);
// Convertir la réponse JSON en tableau PHP
$dataArray = $response->toArray();
return $dataArray;
}
}