Skip to content

Music Library is build By Using Spring Boot in java fundamentals are RestController, GetMapping, PostMapping, PutMapping, DeleteMapping, Override, PathVariable and RequestBody

Notifications You must be signed in to change notification settings

ashokravina/Music-Library

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

Completion Instructions

  • Song.java: The Song class 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.

API 1

Path: /songs

Method: GET

Description:

Returns a list of all songs in the playlist.

Response

[
    {
        "songId": 1,
        "songName": "Butta Bomma",
        "lyricist": "Ramajogayya Sastry",
        "singer": "Armaan Malik",
        "musicDirector": "Thaman S"
    },
   ...
]

API 2

Path: /songs

Method: POST

Description:

Creates a new song in the playlist. songId is auto-incremented.

Request

{
    "songName": "Bala", 
    "lyricist": "Siddharth-Garima", 
    "singer": "Sachin-Jigar", 
    "musicDirector": "Sachin-Jigar"
}

Response

{
    "songId": 6,
    "songName": "Bala",
    "lyricist": "Siddharth-Garima",
    "singer": "Sachin-Jigar",
    "musicDirector": "Sachin-Jigar"
}

API 3

Path: /songs/{songId}

Method: GET

Description:

Returns a song based on a songId. If the given songId is not found in the playlist, raise ResponseStatusException with HttpStatus.NOT_FOUND.

Response

{
    "songId": 3,
    "songName": "Tum Hi Ho",
    "lyricist": "Mithoon",
    "singer": "Arijit Singh",
    "musicDirector": "Mithoon"

}

API 4

Path: /songs/{songId}

Method: PUT

Description:

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.

Request

{
    "singer": "Atif Aslam"
}

Response

{
    "songId": 3,
    "songName": "Tum Hi Ho",
    "lyricist": "Mithoon",
    "singer": "Atif Aslam",
    "musicDirector": "Mithoon"
}

API 5

Path: /songs/{songId}

Method: DELETE

Description:

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.

About

Music Library is build By Using Spring Boot in java fundamentals are RestController, GetMapping, PostMapping, PutMapping, DeleteMapping, Override, PathVariable and RequestBody

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages