• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z przesyłaniem danych miedzy back i front

Object Storage Arubacloud
0 głosów
287 wizyt
pytanie zadane 6 maja 2018 w Java przez LockeLamora Użytkownik (740 p.)

Mój rest controller wysyła takie oto dane

https://scr.hu/1DJv4k

   @GetMapping(produces = MediaType.APPLICATION_JSON_VALUE)
    public ResponseEntity<List<Book>> getBooks(){
        List<Book> allBooks = bookRepository.findAll();
        for(Book b: allBooks){
            System.out.println(b);
        }
        return ResponseEntity.ok(allBooks);
    }

A po pobraniu ich tutaj

    .factory('Book', function($resource) {
        return $resource('book/:id/');
    })
    .service('BookService',function(Book,Author,Category,Publisher){
        this.addBook = function(book){
            book.$save();
        };
        this.getBookById = function (id) {
            return Book.get({id: id})
        };

        this.getAllBooks = function () {
            return Book.query();
        }

dostaje takie

https://scr.hu/amAZZl

Dlaczego pod Publisher mam numer, a pod Author raz normalnie obiekt a później tez numer?

komentarz 6 maja 2018 przez mbabane Szeryf (79,280 p.)
obiekt author o id 5 ma ustawione pozostałe parametry (chociaż wtedy powinno pokazać zdaje się nulle)?
komentarz 7 maja 2018 przez LockeLamora Użytkownik (740 p.)
Ma ustawione parametry i powinno je wyświetlić tak jak w pierwszym przypadku

2 odpowiedzi

0 głosów
odpowiedź 6 maja 2018 przez mbabane Szeryf (79,280 p.)

Jedyna rzecz, na którą zwróciłem uwagę to:

MediaType.APPLICATION_JSON_VALUE

 zawsze używam 

MediaType.APPLICATION_JSON

 

komentarz 7 maja 2018 przez LockeLamora Użytkownik (740 p.)
Jak zmieniłem na

MediaType.APPLICATION_JSON

to wyskoczyło

Attribute value must be constant
komentarz 7 maja 2018 przez Wiciorny Ekspert (270,110 p.)
no to może sięgnijcie do dokumentacji  i specyfikacji gdzie jest to wyjaśnione jak z czegoś korzystacie, to nie róbcie tego na pałe...
0 głosów
odpowiedź 7 maja 2018 przez Wiciorny Ekspert (270,110 p.)

Nie wiem jak wygląda mapowanie u Ciebie Json Format na String format do zapisu, bo korzystasz z 

MediaType.APPLICATION_JSON_VALUE

To quote the javadoc, MediaType.APPLICATION_JSON is a "public constant media type for application/json", whereas MediaType.APPLICATION_JSON_VALUE is a "String equivalent of MediaType.APPLICATION_JSON".

i problem będzie tutaj leżał w mapowaniu obiektów, też zależy jaka jest implementacja  obiektów które przesyłasz np. equals/hashcode oraz toString.

https://www.programcreek.com/java-api-examples/?api=org.springframework.http.MediaType 

komentarz 7 maja 2018 przez LockeLamora Użytkownik (740 p.)

A z czego powinienem korzystać?

equals hashcode i toString mam wygenerowane

 

Może z tym jest jakiś problem

    @JsonIdentityInfo(generator = ObjectIdGenerators.IntSequenceGenerator.class, property = "@id")

Mam tą adnotacje po obu stronach kazdej relacji i ona przypisuje id obiektom i kiedy jest ten sam obiekt drugi raz to jest podane tylko id zamiast calego obiektu

komentarz 7 maja 2018 przez LockeLamora Użytkownik (740 p.)
edycja 7 maja 2018 przez LockeLamora

Usunąłem tą adnotacje po stronie właściciela relacji i teraz dalej jest id zamiast obiektu ale mogę normalnie wyświetlić w html, ale nie wiem czy to tak ma być bo na przykład tutaj http://www.baeldung.com/jackson-bidirectional-relationships-and-infinite-recursion jest że ta adnotacja powinna być nad obydwiema klasami a u mnie jest nad polem i jak dam nad klasami to znów nie działa

komentarz 8 maja 2018 przez Wiciorny Ekspert (270,110 p.)

Mam tą adnotacje po obu stronach kazdej relacji i ona przypisuje id obiektom i kiedy jest ten sam obiekt drugi raz to jest podane tylko id zamiast calego obiektu

i to właśnie leży w implementacji equals i hashcode, na jakiej zaszadzie porównuje cI OBIEKTY? co stanowi różnice między nimi ?

Może zastosuj @Version - adnotacje do pewnego pola i ustaw mu jakas wartosc, która definitywnie bedzie odróżniać encje/ obiekty.

 

Podobne pytania

0 głosów
0 odpowiedzi 91 wizyt
pytanie zadane 15 stycznia 2019 w Java przez anonymousProgrammer Początkujący (350 p.)
0 głosów
1 odpowiedź 1,107 wizyt
pytanie zadane 19 kwietnia 2018 w Java przez LockeLamora Użytkownik (740 p.)
0 głosów
0 odpowiedzi 119 wizyt

92,570 zapytań

141,422 odpowiedzi

319,643 komentarzy

61,958 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...