Skip to article frontmatterSkip to article content

6Filters

De keuze is reuze.

Schermafdruk van webshop aan het einde van dit hoofdstuk.

Schermafdruk van webshop aan het einde van dit hoofdstuk.

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 merk en kleur

De client 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 merk en kleur werken

De client van 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

Smurf ManiaTotally Smurfroodgeelblauwgetoonde artikelenWHERE-clausule
alle artikelengeen
artikelen van Smurf Mania, de kleur maakt niet uitWHERE merk IN ("Smurf Mania")
artikelen van (Smurf Mania of Totally Smurf), de kleur maakt niet uitWHERE merk IN ("Smurf Mania", "Totally Smurf")
artikelen met rood, het merk maakt niet uitWHERE kleur IN ("rood")
artikelen van Smurf Mania met roodWHERE merk IN ("Smurf Mania") AND kleur IN ("rood")
artikelen van (Smurf Mania of Totally Smurf) met (geel of blauw)WHERE merk IN ("Smurf Mania", "Totally Smurf") AND kleur IN ("geel", "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. Breidt je database uit als dat nodig is om alle combinaties te kunnen testen.