Aktywne Wpisy

BanderaFella +3
To mój pierwszy post na tym forum. Jestem Ukraińcem mieszkającym we Wrocławiu. Lubię to miasto, ponieważ tu jest wielu Ukraińców, czuję się jak w domu.
Nie do końca rozumiem was Polaków. Popełniacie przestępstwo rozsypując zboże na drodze. Nie macie empatii ani współczucia. Nasi ludzie umierają za was, a wy knujecie przeciwko nam i chcecie nas zniszczyć. My staramy się przetrwać i wygrać walkę z okupantem. Wy nam nie pomagacie, tylko wbijacie nóż
Nie do końca rozumiem was Polaków. Popełniacie przestępstwo rozsypując zboże na drodze. Nie macie empatii ani współczucia. Nasi ludzie umierają za was, a wy knujecie przeciwko nam i chcecie nas zniszczyć. My staramy się przetrwać i wygrać walkę z okupantem. Wy nam nie pomagacie, tylko wbijacie nóż

Kotouak +4
Co byś zrobił(a), jakbyś był(a) gdzieś na wsi i wylądowałby ufo i wyszedł z niego ufiak i szedł w twoją stronę?





Przykład to dodawania wizyty przez REST. Zauważyłem, że mój kod z dołączonego screena nie działa poprawnie bo w metodzie translateToVisitEntity(...) podczas parsowania DTO na Entity tworzony jest nowy obiekt, który od razu zostaje podpięty do transakcji. W efekcie tego metoda existsByDateTimeAndDoctor znajduje ten obiekt przez co nie da się utworzyć wizyty.
Obszedłem to modyfikując kod w ten sposób, żeby existsByDateTimeAndDoctor było wywołane jeszcze przed parsowaniem DTO(screenshot 2 w komentarzu).
Jak to się powinno robić żeby miało ręce i nogi? Podejrzewam, że usuwanie @Transactional z metod, które coś zapisują do bazy nie jest OK.
#programowanie
źródło: comment_1595972130mvEA3WxBA2UhKyRfLIFzU0.jpg
Pobierzźródło: comment_1595972770DobOL9MW2bV0WBcBwtNjRn.jpg
PobierzKomentarz usunięty przez moderatora
Na przykładzie Visit:
warstwa persystencji:
- encja mapowana z bazy (@Entity) np. VisitEntity
- JpaRepository ze Spring Data operujące na VisitEntity
warstwa biznesowa:
- obiekt domenowy np. Visit
- drugi poziom repository --> wewnątrz operujący na Repository z warstwy persystencji i mapujący VisitEntity na Visit
- serwis do wykonywania operacji na wizytach np. create, findAll itp. korzystający
DTO, leci pomiędzy użytkownikiem a twoją aplikacją. Entity nie powinno wychodzić poza serwisy mające styczność z bazą. Najniższa warstwa niech zostanie przy bazie. DTO przy kontrolerach rest. W reszcie aplikacji masz obiekty które mogą być czysto domenowe.
Swoją drogą: IMHO to nie jest 'bad
Jeśli chodzi o kod odpowiedzi to zdania ekspertów są podzielone. Np. Azure zwraca 404, jako że nie ma takiego zasobu (błędne dane wejściowe powodują że się nic nie wyszukuje). Wkurzające, nie powiem, ale ze względów bezpieczeństwa (security) jak najbardziej wskazane: Nie dajemy hintów, potencjalnym włamującym.
Ja bym był za 200 OK i pustą odpowiedzią: czyt. "zrozumiałem twoje zapytanie, a tu masz listę rzeczy