[OOP | Cvičenie] 12 - ManyToMany, ControllerAdvice, Zadanie 2 a 3
Preber si túto prednášku so svojou AI
Skopíruj pripravený podklad a vlož ho do ChatGPT, Claude alebo inej AI — bude ťa učiť alebo skúšať len z tejto prednášky.
Zhrnutie prednášky
Dvanáste cvičenie z OOP ukazuje, ako v Spring Data JPA rozbiť vzťah ManyToMany na samostatnú entitu Payment s vlastnými atribútmi, keď vzťah medzi zvieraťom a osobou potrebuje niesť dodatočnú hodnotu (sumu platby) - entita Payment má vzťahy ManyToOne k obom pôvodným entitám a vlastný repozitár a servisu. Ďalej vyučujúci predstavuje anotáciu ControllerAdvice na centrálne mapovanie vlastných výnimiek (napríklad NotFoundException) na HTTP status kódy pomocou ExceptionHandler a ResponseStatus namiesto lokálneho ošetrovania chýb v kontroleroch. Na záver prechádza pripravenými jednotkovými testami využívajúcimi MockMvc, ktoré cez perform posielajú POST požiadavky s JSON telom a assertmi overujú vrátené hodnoty a HTTP status kódy.
- - Rozbitie ManyToMany vzťahu na samostatnú entitu Payment s vlastným atribútom
- - Vzťahy ManyToOne z entity Payment k entitám Animal a Person
- - Upozornenie na cyklické závislosti medzi servisami
- - Anotácia ControllerAdvice a centrálne mapovanie výnimiek na HTTP status kódy
- - Vlastná výnimka NotFoundException s anotáciami ExceptionHandler a ResponseStatus
- - Testovanie REST endpointov cez MockMvc, JSON serializácia a asserty na kontrolu odpovede a status kódu
Zhrnutie pripravené s pomocou AI z prepisu videa.
nechodím na prednášky