• 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

Mały hosting, OGROMNE możliwości
0 głosów
586 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,260 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,260 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 (283,260 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 (283,260 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 (283,260 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 154 wizyt
pytanie zadane 15 stycznia 2019 w Java przez anonymousProgrammer Początkujący (350 p.)
0 głosów
1 odpowiedź 1,392 wizyt
pytanie zadane 19 kwietnia 2018 w Java przez LockeLamora Użytkownik (740 p.)
0 głosów
0 odpowiedzi 173 wizyt

93,715 zapytań

142,629 odpowiedzi

323,260 komentarzy

63,257 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...