Я использую: graphql-spring-boot и graphql-java-tools для реализации.
movie.graphqls
type Movie {
id: Short
name: String
poster: String
releaseDate: String
runtime: String
storyline: String
rated: String
rating: String
inserted: String
}
type Query {
movies: [Movie]
movie(id: ID!): Movie
}
Модель фильма
@Entity
public class Movie {
private Short id;
private String name;
private String poster;
private Date releaseDate;
private Time runtime;
private String storyline;
private String rated;
private double rating;
private Timestamp inserted;
}
Как видите, я не имею отношения к другим моделям.
наконец, класс, который реализует GraphQLQueryResolver
@Component
public class Query implements GraphQLQueryResolver {
@Autowired
private MovieRepository movieRepository;
public List<Movie> movies() {
return this.movieRepository.findAll();
}
public Movie movie(Short id) {
return this.movieRepository.getOne(id);
}
}
следующий запрос работает нормально:
{
movies{
name
rating
}
}
но этот запрос:
{
movie(id: 1){
name
}
}
выдает мне следующую ошибку:
Исключение при извлечении данных (/ фильм / рейтинг): не удалось инициализировать прокси [com.example.demo.model.Movie # 1] - нет сеанса