From dff1ac9bd1f9a6f9d47155087b90d8a3171e1386 Mon Sep 17 00:00:00 2001 From: LeeChanJu <dlckswn334@ajou.ac.kr> Date: Mon, 17 Jul 2023 16:54:47 +0900 Subject: [PATCH] Add delete Favorite --- .../myspringweb/controller/MyspringwebController.java | 6 ++++++ .../myspringweb/repository/FavoriteRepository.java | 3 ++- .../kr/ajousw/myspringweb/service/MusicService.java | 10 ++++++++++ 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java b/src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java index 06ccf65..2652f49 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 3039693..d757348 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 e5c32e2..829c83c 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); + } } -- GitLab