Nouveau dans Laravel 13.35. Une recherche aux critères nombreux tient mal dans l'adresse d'un GET. On la passait donc en POST, avec ses critères dans le corps, alors qu'elle ne modifie rien. La méthode HTTP QUERY, normalisée par la RFC 10008 (juin 2026), est faite pour ce cas : elle est sûre et idempotente comme GET, et porte un corps comme POST. Laravel la route maintenant.
Avant
Route::post('/api/livres/recherche', LivreController::class);
Depuis Laravel 13.35
Route::query('/api/livres', LivreController::class);
Les tests ont leurs raccourcis : $this->query() et $this->queryJson(), à côté de get() et getJson(). Attention, Laravel ne range pas encore QUERY parmi les méthodes qui ne font que lire : une route QUERY du groupe web vérifie le jeton CSRF, comme un POST.
À faire
La recherche du catalogue passe par POST /api/livres/recherche, avec un corps JSON : {"auteurs": […], "avant": 1950, "genres": […]}. Déclarez-la plutôt en QUERY /api/livres, dans routes/web.php. Le contrôleur ne change pas.