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 ✒️
|
## Bonus Tasks ✒️
|
||||||
1. Fetch and display movie information using movie ID
|
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
|
### Example Output:
|
||||||
|
```
|
||||||
- images (String) - Poster image URL
|
=======================================================================
|
||||||
|
THE SHAWSHANK REDEMPTION (1994)
|
||||||
- country (String) - Production country
|
=======================================================================
|
||||||
|
Rating: 9.3/10 | Votes: 1,738,596
|
||||||
- imdbRating (String) - IMDB rating
|
Director: Frank Darabont
|
||||||
|
Cast: Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler
|
||||||
Implementation Steps:
|
Genre: Crime, Drama
|
||||||
|
Runtime: 142 min | Rated: R
|
||||||
- Build and Send Request (getMovieById method):
|
Country: USA | Released: 14 Oct 1994
|
||||||
|
Plot: Two imprisoned men bond over a number of years, finding
|
||||||
- Create HTTP request to: https://api.meshcomp.ir/api/v1/movies/{movieId}
|
solace and eventual redemption through acts of common decency.
|
||||||
|
Awards: Nominated for 7 Oscars. Another 19 wins & 30 nominations.
|
||||||
- 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
|
|
||||||
|
|
||||||
|
```
|
||||||
---
|
---
|
||||||
## References 📚
|
## References 📚
|
||||||
|
|
||||||
@@ -202,4 +178,3 @@ Jackson Tutorial:
|
|||||||
---
|
---
|
||||||
## Submission ⌛
|
## Submission ⌛
|
||||||
Deadline: May 1st (11 Ordibehesht)
|
Deadline: May 1st (11 Ordibehesht)
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public class Movie {
|
|||||||
private Long id;
|
private Long id;
|
||||||
private String title;
|
private String title;
|
||||||
private List<String> genres;
|
private List<String> genres;
|
||||||
private String images;
|
private List<String> images;
|
||||||
private String year;
|
private String year;
|
||||||
private String imdb_rating;
|
private String imdb_rating;
|
||||||
private String country;
|
private String country;
|
||||||
|
|||||||
@@ -153,19 +153,21 @@ public class MovieService {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
/* EXAMPLE OUTPUT:
|
/* EXAMPLE OUTPUT:
|
||||||
* =======================================================================
|
|
||||||
* THE SHAWSHANK REDEMPTION (1994)
|
=======================================================================
|
||||||
* =======================================================================
|
THE SHAWSHANK REDEMPTION (1994)
|
||||||
* Rating: 9.3/10 | Votes: 1,738,596
|
=======================================================================
|
||||||
* Director: Frank Darabont
|
Rating: 9.3/10 | Votes: 1,738,596
|
||||||
* Cast: Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler
|
Director: Frank Darabont
|
||||||
* Genre: Crime, Drama
|
Cast: Tim Robbins, Morgan Freeman, Bob Gunton, William Sadler
|
||||||
* Runtime: 142 min | Rated: R
|
Genre: Crime, Drama
|
||||||
* Country: USA | Released: 14 Oct 1994
|
Runtime: 142 min | Rated: R
|
||||||
* Plot: Two imprisoned men bond over a number of years, finding
|
Country: USA | Released: 14 Oct 1994
|
||||||
* solace and eventual redemption through acts of common decency.
|
Plot: Two imprisoned men bond over a number of years, finding
|
||||||
* Awards: Nominated for 7 Oscars. Another 19 wins & 30 nominations.
|
solace and eventual redemption through acts of common decency.
|
||||||
* =======================================================================
|
Awards: Nominated for 7 Oscars. Another 19 wins & 30 nominations.
|
||||||
|
=======================================================================
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public void displayMovieDetails(Long movieId) {
|
public void displayMovieDetails(Long movieId) {
|
||||||
|
|||||||
Reference in New Issue
Block a user