diff --git a/src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java b/src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java index 06ccf6515e6be56e4d2b1d255035a19d839144d6..2652f499ba3023fc23af89a159cd6e22857312da 100644 --- a/src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java +++ b/src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java @@ -3,6 +3,7 @@ package kr.ajousw.myspringweb.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -49,5 +50,10 @@ public class MyspringwebController { public int postLikes(@RequestBody FavoriteMusicRequestDto favorite){ return service.saveFavorite(favorite); } + + @DeleteMapping(value = "/likes/{id}") + public void deleteLikes(@PathVariable String id) { + service.deleteFavorite(id); + } } diff --git a/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java index 3039693cca9ffd5d1b8382b7daf431b5800384ff..d757348aaa60cf167666d9ed09c8ffaa36a0bac6 100644 --- a/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java +++ b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java @@ -7,5 +7,6 @@ import org.springframework.data.jpa.repository.JpaRepository; import kr.ajousw.myspringweb.entity.FavoriteMusic; public interface FavoriteRepository extends JpaRepository<FavoriteMusic, String> { - List<FavoriteMusic> findAll(); + List<FavoriteMusic> findAll(); + void deleteById(String collectionId); } diff --git a/src/main/java/kr/ajousw/myspringweb/service/MusicService.java b/src/main/java/kr/ajousw/myspringweb/service/MusicService.java index e5c32e2abcccdb8799a01eec30822df0a414b065..829c83ce8c37f9657ca06ca5e5b9c40d008aa314 100644 --- a/src/main/java/kr/ajousw/myspringweb/service/MusicService.java +++ b/src/main/java/kr/ajousw/myspringweb/service/MusicService.java @@ -3,6 +3,7 @@ package kr.ajousw.myspringweb.service; import java.io.IOException; import java.util.List; +import org.springframework.dao.EmptyResultDataAccessException; import org.springframework.stereotype.Service; import org.springframework.web.client.RestTemplate; @@ -55,4 +56,13 @@ public class MusicService { return 0; } } + + public void deleteFavorite(String id) { + boolean exists = albumsRepo.existsById(id); + if (!exists) { + throw new IllegalArgumentException("Invalid favorite ID: " + id); + } + + albumsRepo.deleteById(id); + } }