From 83287eeb842d2ae1d7e3f4d1884d5093f820e352 Mon Sep 17 00:00:00 2001 From: Fateme Azizi Date: Wed, 29 Apr 2026 07:09:17 +0330 Subject: [PATCH] implement displayMoviesByGenre method --- src/main/java/movie/apis/MovieService.java | 30 +++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/src/main/java/movie/apis/MovieService.java b/src/main/java/movie/apis/MovieService.java index 3f053f5..94129f1 100644 --- a/src/main/java/movie/apis/MovieService.java +++ b/src/main/java/movie/apis/MovieService.java @@ -103,10 +103,34 @@ public class MovieService { * PUT ALL PARSING CODE INSIDE try-catch */ public void displayMoviesByGenre(Long genreId, Long page) { - // TODO: Write your code here - // All parsing code must be inside try-catch + + String jsonResponse = getMoviesByGenreList(genreId, page); + + if (jsonResponse == null) { + System.out.println("Failed to get genres"); + return; + } + try { - // Your code here + JsonObject rootObject = JsonParser.parseString(jsonResponse).getAsJsonObject(); + JsonArray moviesArray = rootObject.getAsJsonArray("movies"); + Type movieListType = new TypeToken>(){}.getType(); + + Gson gson = new Gson(); + List movies = gson.fromJson(moviesArray, movieListType); + int total = rootObject.get("total").getAsInt(); + int totalPages = rootObject.get("total_pages").getAsInt(); + + for(int i=0 ; i