Двунаправленное представление отношений в Json - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь выучить весну. У меня есть 2 класса в двунаправленных отношениях друг с другом:

public class MovieGenre {

// some code 

   @ManyToMany(mappedBy = "genres")
   @JsonBackReference
   private Set<Movie> movies = new HashSet<>();

и

public class Movie {

// some code

   @ManyToMany(fetch = FetchType.EAGER)
   @JoinTable(
           name = "movie_movie_genre",
           joinColumns = @JoinColumn(name = "movie_id"),
           inverseJoinColumns = @JoinColumn(name = "movie_genre_id"))
   @JsonManagedReference
   private Set<MovieGenre> genres = new HashSet<>();

Аннотация JSON помогает получить представление JSON без использования IllegalStateException или Map Exceptions.

Из конечной точки MovieController я могу получить

{
   "id": 1,
   "genres": [
       {
           "genreId": 1,
           "genreName": "action"
       },
       {
           "genreId": 5,
           "genreName": "romance"
       }
   ],
   "_links": {
       "self": {
           "href": "http://localhost:8080/api/v1/movie/id/1"
       }
   }
}

Как видите, список жанров включен. Но когда я вызываю конечную точку MovieGenreController:

{
   "genreId": 1,
   "genreName": "action",
   "_links": {
       "self": {
           "href": "http://localhost:8080/api/v1/moviegenre/id/1"
       }
   }
}

@ JsonBackReference скрывает список фильмов.

Есть ли способ управлять этим отношением, чтобы я мог получить доступ к списку фильмов из класса MovieGenre?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...