- Ajout d'une pagination
- Résultats plu pertinent, affichage des livres seulement
This commit is contained in:
@ -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")]
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user