Retour à la leçonMission
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.