Compare commits
4
Commits
8dd1f66e92
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6a01e43eb2 | ||
|
|
cafed6c3ab | ||
|
|
e459dbf684 | ||
|
|
6855df7fc3 |
@@ -121,64 +121,40 @@ Understanding: You must be able to explain your implementation
|
||||
## Bonus Tasks ✒️
|
||||
1. Fetch and display movie information using movie ID
|
||||
|
||||
In this section, you must implement the ability to search for a movie by its ID. The user enters an ID, and the program displays complete movie details.
|
||||
Implement movie search by ID. User enters an ID, program displays complete movie details.
|
||||
|
||||
Movie Class Fields (already defined):
|
||||
### ⚠️ First: Add Missing Fields to Movie Class
|
||||
The API returns more data than your current class supports. Add these fields:
|
||||
- `actors`, `awards`, `director`, `imdb_id`, `imdb_votes`, `metascore`, `plot`, `rated`, `released`, `runtime`, `type`, `writer`
|
||||
|
||||
- id (Long) - Movie identifier
|
||||
### Implementation Steps:
|
||||
|
||||
- title (String) - Movie title
|
||||
1. **Complete `getMovieById(movieId)`**
|
||||
- Build request to: `https://api.meshcomp.ir/api/v1/movies/{movieId}`
|
||||
- If status 200 → return JSON body, else → return null
|
||||
|
||||
- year (String) - Release year
|
||||
2. **Complete `displayMovieDetails(movieId)`**
|
||||
- Call `getMovieById()` → check for null
|
||||
- Use Gson to parse JSON to Movie object (after adding fields above)
|
||||
- Print formatted output (see example below)
|
||||
|
||||
- genres (List<Genre>) - List of genres
|
||||
|
||||
- images (String) - Poster image URL
|
||||
|
||||
- country (String) - Production country
|
||||
|
||||
- imdbRating (String) - IMDB rating
|
||||
|
||||
Implementation Steps:
|
||||
|
||||
- Build and Send Request (getMovieById method):
|
||||
|
||||
- Create HTTP request to: https://api.meshcomp.ir/api/v1/movies/{movieId}
|
||||
|
||||
- Replace {movieId} with the ID from user
|
||||
|
||||
- Send request and get response
|
||||
|
||||
- Handle Response (getMovieById method):
|
||||
|
||||
- If status code is 200, return JSON body
|
||||
|
||||
- Otherwise, print error and return null
|
||||
|
||||
- Parse JSON and Create Movie Object (displayMovieDetails method):
|
||||
|
||||
- Parse JSON response to JsonObject
|
||||
|
||||
- Extract all fields: id, title, year, poster, country, imdb_rating
|
||||
|
||||
- Parse "genres" array and convert each to Genre object
|
||||
|
||||
- Create a Movie object with all extracted data
|
||||
|
||||
- Display Results (displayMovieDetails method):
|
||||
|
||||
- Print all movie details in a clean format
|
||||
|
||||
2. Advanced search (title, genre, year, rating, etc.)
|
||||
|
||||
3. Sorting options for movies
|
||||
|
||||
4. Save/load favorite movies to/from a file
|
||||
|
||||
5. Improved console menu design
|
||||
|
||||
6. GUI version using JavaFX
|
||||
### Example Output:
|
||||
```
|
||||
=======================================================================
|
||||
THE SHAWSHANK REDEMPTION (1994)
|
||||
=======================================================================
|
||||
Rating: 9.3/10 | Votes: 1,738,596
|
||||
Director: Frank Darabont
|
||||
Cast: Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler
|
||||
Genre: Crime, Drama
|
||||
Runtime: 142 min | Rated: R
|
||||
Country: USA | Released: 14 Oct 1994
|
||||
Plot: Two imprisoned men bond over a number of years, finding
|
||||
solace and eventual redemption through acts of common decency.
|
||||
Awards: Nominated for 7 Oscars. Another 19 wins & 30 nominations.
|
||||
=======================================================================
|
||||
|
||||
```
|
||||
---
|
||||
## References 📚
|
||||
|
||||
@@ -202,4 +178,3 @@ Jackson Tutorial:
|
||||
---
|
||||
## Submission ⌛
|
||||
Deadline: May 1st (11 Ordibehesht)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ public class Movie {
|
||||
private Long id;
|
||||
private String title;
|
||||
private List<String> genres;
|
||||
private String images;
|
||||
private List<String> images;
|
||||
private String year;
|
||||
private String imdb_rating;
|
||||
private String country;
|
||||
|
||||
@@ -153,19 +153,21 @@ public class MovieService {
|
||||
*/
|
||||
|
||||
/* EXAMPLE OUTPUT:
|
||||
* =======================================================================
|
||||
* THE SHAWSHANK REDEMPTION (1994)
|
||||
* =======================================================================
|
||||
* Rating: 9.3/10 | Votes: 1,738,596
|
||||
* Director: Frank Darabont
|
||||
* Cast: Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler
|
||||
* Genre: Crime, Drama
|
||||
* Runtime: 142 min | Rated: R
|
||||
* Country: USA | Released: 14 Oct 1994
|
||||
* Plot: Two imprisoned men bond over a number of years, finding
|
||||
* solace and eventual redemption through acts of common decency.
|
||||
* Awards: Nominated for 7 Oscars. Another 19 wins & 30 nominations.
|
||||
* =======================================================================
|
||||
|
||||
=======================================================================
|
||||
THE SHAWSHANK REDEMPTION (1994)
|
||||
=======================================================================
|
||||
Rating: 9.3/10 | Votes: 1,738,596
|
||||
Director: Frank Darabont
|
||||
Cast: Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler
|
||||
Genre: Crime, Drama
|
||||
Runtime: 142 min | Rated: R
|
||||
Country: USA | Released: 14 Oct 1994
|
||||
Plot: Two imprisoned men bond over a number of years, finding
|
||||
solace and eventual redemption through acts of common decency.
|
||||
Awards: Nominated for 7 Oscars. Another 19 wins & 30 nominations.
|
||||
=======================================================================
|
||||
|
||||
*/
|
||||
|
||||
public void displayMovieDetails(Long movieId) {
|
||||
|
||||
Reference in New Issue
Block a user