Skip to article frontmatterSkip to article content

6Filters

In dit hoofdstuk ga je filters toevoegen aan je webshop. Met filters kun je selecteren welke artikelen getoond worden.

6.1Uitleg: REST-API

6.2Opdracht: Toon filters voor soort en kleur

De front-end is al voorbereid voor het werken met filters, maar de API nog niet. In deze opdracht ga je zorgen dat de filters zichtbaar worden in de webshop. In de volgende opdracht zorg je dat alleen de artikelen worden getoond die in het filter zijn ingesteld.

6.3Uitleg: Extra gegevens in een request

6.4Opdracht: Laat filters op soort en kleur werken

De front-end in de webshop stuurt het filter als query-parameter mee naar het endpoint /api/products als op de knop Filter toepassen geklikt wordt. Om alleen de artikelen terug te sturen die aan het filter voldoen, moet je in de API een WHERE-clausule toe voegen aan het SELECT-commando dat de artikel-informatie uit de database ophaalt. Bekijk de tabel om te zien hoe het filter uiteindelijk moet gaan werken.

Werking van filter

poppetjehuisjeroodwitblauwgetoonde artikelenWHERE-clausule
alle artikelengeen
artikelen met poppetje, de kleur maakt niet uitWHERE soort IN ("poppetje")
artikelen met (poppetje of huisje), de kleur maakt niet uitWHERE soort IN ("poppetje", "huisje")
artikelen met rood, de soort maakt niet uitWHERE kleur IN ("rood")
artikelen met poppetje en roodWHERE soort IN ("poppetje") AND kleur IN ("rood")
artikelen met (poppetje of huisje) en (wit of blauw)WHERE soort IN ("poppetje", "huisje") AND kleur IN ("wit", "blauw")

Je gaat het filter stap voor stap maken in a) tot en met d) van deze opdracht. Je moet daarbij SQL en Python-code toevoegen aan de API.