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