Wpis z mikrobloga

Cześć, mam problem z JSONami przy projekcie Spring Boot i Rest. Żeby zapobiec nieskończonej rekursji przy pobieraniu danych użyłem @JsonManagedReference i @JsonBackReference. Wszystko dobrze działa przy pobieraniu danych, ale jeśli chcę dodać użytkownika (https://pastebin.com/JgMBGj66) za pomocą POSTa wywala mi błąd "Failed to evaluate Jackson deserialization for type [[simple type, class com.firebrigadeserver.entity.User]]: com.fasterxml.jackson.databind.JsonMappingException: Multiple back-reference properties with name 'defaultReference'".

Klasa Firebrigade: https://pastebin.com/dCLmLfgc

O co tutaj chodzi? Ze sposobów jakie znalazłem w internecie nie działa żaden. Mądrzy ludzie, pomocy :(

#programowanie #java #spring
  • 9
@kemek: Mogę mieć jeszcze pytanko?

W sytuacji kiedy w jakiejś klasie(1) mam obiekty innej klasy(2) to tworząc DTO(1) wsadzam do środka obiekty DTO(2) czy przedstawiam je w inny sposób jakoś?

W przykładach jakie znalazłem przykładowo obiekt Adres przechowujący miasto i ulicę w DTO reprezentowany jest przez dwie zmienne. Stąd nie wiem do końca, która wersja jest lepsza. Ta pierwsza wydaje mi się bardziej skomplikowana bo zmieniając jedno DTO wpłynę na drugie
@Rubajticos: Zależy. Czasami wystarczy Ci tylko identyfikator/lista identyfikatorów klasy (2). Jak potrzebujesz więcej, to tak - używasz DTO klasy (2).

Jeśli przykładowy Adres w encji jest @Embeddable, to dobrze mieć też odpowiednik w postaci AdresDto.
via Wykop Mobilny (Android)
  • 0
@kemek: Ok, mówisz o identyfikatorach. Czyli lepiej jest przesłać id i w momencie kiedy dany obiekt jest potrzebny i za jego pomogą go dopiero pobrać z serwera niż pobrać odrazu go z obiektem raz i później z niego wyciągać ? Czy to obojętne po prostu?