Given four files SongController.java, SongRepository.java, SongService.java, and Song.java. The SongService class has a variable named playlist, which is a HashMap that holds Integers as keys and Song objects as values. Initially, it contains data of 5 songs.
-
Song.java: TheSongclass should contain the following attributes.Attribute Type songId int songName String lyricist String singer String musicDirector String -
SongRepository.java: Create an interface containing required methods. -
SongService.java: Update the service class with logic for managing song data. -
SongController: Create the controller class to handle HTTP requests.
Implement the following APIs.
Returns a list of all songs in the playlist.
[ { "songId": 1, "songName": "Butta Bomma", "lyricist": "Ramajogayya Sastry", "singer": "Armaan Malik", "musicDirector": "Thaman S" }, ... ] Creates a new song in the playlist. songId is auto-incremented.
{ "songName": "Bala", "lyricist": "Siddharth-Garima", "singer": "Sachin-Jigar", "musicDirector": "Sachin-Jigar" } { "songId": 6, "songName": "Bala", "lyricist": "Siddharth-Garima", "singer": "Sachin-Jigar", "musicDirector": "Sachin-Jigar" } Returns a song based on a songId. If the given songId is not found in the playlist, raise ResponseStatusException with HttpStatus.NOT_FOUND.
{ "songId": 3, "songName": "Tum Hi Ho", "lyricist": "Mithoon", "singer": "Arijit Singh", "musicDirector": "Mithoon" } Updates the details of a song in the playlist based on the songId. If the given songId is not found in the playlist, raise ResponseStatusException with HttpStatus.NOT_FOUND.
{ "singer": "Atif Aslam" } { "songId": 3, "songName": "Tum Hi Ho", "lyricist": "Mithoon", "singer": "Atif Aslam", "musicDirector": "Mithoon" } Deletes a song from the playlist based on the songId. If the given songId is not found in the playlist, raise ResponseStatusException with HttpStatus.NOT_FOUND.
Do not modify the code in the SongApplication.java.