Retour à la leçon
Mission

Mission : reparer un filtre de recherche qui ignore les champs vides

Corriger un controleur d'index qui traite incorrectement les filtres vides et renvoie des codes HTTP incoherents.

Contexte

Le controleur ProduitController::index() d'une API utilise $request->has('categorie') pour decider d'ajouter un filtre where('categorie_id', ...). Un client mobile envoie systematiquement le champ categorie meme vide (categorie=) dans son formulaire de recherche, ce qui declenche un filtre sur une categorie vide et renvoie zero resultat au lieu de tous les produits. Par ailleurs, store() et destroy() renvoient tous deux un code 200, ce qui empeche le client mobile de distinguer une creation reussie d'une simple confirmation.