Hogyan lehet megoldani ezt webes route tervezési problémát?
Spring boot + Angular projecten vagyok. Feladatban fontos, hogy az URL-ben benne legyen adott kategóriák neve. Meglévő kategóriák megváltoztahatók és újakat is lehet hozzáadni.
További követelmény, hogy "slug"-ot használjak. Tehát az ékezeteket vegyem le a kategória névről.
pl.: www.randomoldal.hu/ajandekok
A backenden van egy kategóriákat leíró entitás. Nyílván annak van neve, így pl.: a probléma egyszerűen megoldható lenne két féle módon:
1. DB-ben elvégzem a "name" mezőn a konvertálást és úgy csinálom a keresést.
pl.: (lehet nem jó syntaxisra)
@Query("SELECT c FROM CategoryEntity c " +
"WHERE LOWER(FUNCTION('REPLACE', c.name, ' ', '-')) = :slug")
Optional<CategoryEntity> findBySlug(@Param("slug") String slug);
2. Felveszek egy új mezőt, aminek mondjuk "slugName" lesz a neve és készítek egy annotációt, amit mezőkön lehet használni és minden módosításnál legenerálom az értékét, így remélhetőleg elkerülöm hogy inkonzisztens adat legyen a DB-ben, de mégis egyszerűen tudok slug alapján keresni.
Most hirtelen ez a két megoldás tesztett a legjobban, de egyik sem tűnik annyira jónak. Esetleg van valami más? Hogy szokták ezt a problémát megoldani?
Kb maximum 10.000 kategória lehet.
(A feladatban "kategóriát" írtam, de másról van szó, csak nem akartam hogy felismerő legyen)
Te lehetsz az első, aki segít a kérdezőnek!
További kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!