Lekce 10 - Filmová databáze v Java Spring Boot - Přidávání uživatelů
V předchozí lekci, Filmová databáze v Java Spring Boot - Propojení API a entity, jsme si ukázali, jak budeme postupovat při komunikaci s frontendem. Také jsme si poprvé spustili projekt a viděli naši databázi.
Dnes si představíme DTO (Data Transfer Object), propojíme si první funkční mapping s frontendem a uložíme si do databáze data, která nám přijdou z formuláře.
DTO
Pro komunikaci s frontendem budeme používat takzvané DTO. Je to v podstatě to stejné, jako entita, ale neslouží k přímému ukládání. Bude mít většinu stejných proměnných, jako entita, ale ne všechny. Důvod, proč chceme dvě třídy s poměrně stejnými vlastnosti, je vyhnutí se cyklické vazbě. Pojďme si situaci blíže představit.
Cyklická vazba entit
Řekněme, že máme entitu User
(uživatel) a
Article
(článek). Entita User
má list entit
Article
, aby byla dodržena vazba uživatele na jeho články v
databázi. Abychom vazbu správně implementovali do tříd, musí mít i
jednotlivé Article
pak odkaz na svého User
, kterému
patří, tedy i z druhé strany. Zatím žádný problém.
Pokud bychom ovšem chtěli uživatele třeba vypsat, Spring by nám celý
list vypsal jako JSON. A snažil by se zde vypsat onen odkaz
Article
na User
. U uživatele by ale vypsal zas jako
jeho vlastnosti s tím stejným listem Articlů, každý článek by zas vypsal
User
se seznamem articlů a asi už dokážete říci, co by se
stalo. Vznikl by nekonečně velký reponse, nekonečně se opakujících dat
uživatelů a jejich článků a jejich uživatelů a jejich článků a jejich
uživatelů...
Oboustranných odkazů se zbavit nechceme, protože by jinak mohlo být
komplikované na různých částech aplikace získávat data. Proto si kromě
entit User
a Article
, které na sebe mají
oboustranné odkazy, vytvoříme i
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Obsah článku spadá pod licenci Premium III, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V Java Spring Boot tutoriálu se podíváme na přidávání uživatelů. Uděláme si první funkční endpoint a repozitář. Taktéž se podíváme na response body.
Body získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.