From e2572fb2e2d0d46f24f7655a35dc4364b9bc0463 Mon Sep 17 00:00:00 2001
From: Hyunjin <noh0605@ajou.ac.kr>
Date: Tue, 25 Jul 2023 14:28:00 +0900
Subject: [PATCH] Add delete Favorite

---
 .../myspringweb/controller/MyWebController.java      |  6 ++++++
 .../myspringweb/repository/FavoriteRepository.java   |  2 ++
 .../kr/ajousw/myspringweb/service/MusicService.java  | 12 ++++++++++++
 3 files changed, 20 insertions(+)

diff --git a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java
index 8bfd7be..ea92e03 100644
--- a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java
+++ b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.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.PathVariable;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -39,4 +40,9 @@ public class MyWebController {
     public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) {
         return service.saveFavorite(favorite.toEntity());
     } 
+
+    @DeleteMapping(value="/likes/{id}")
+    public int deleteLikes(@PathVariable String id) {
+        return service.deleteFavorite(id);
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
index 0d44ffc..ad57818 100644
--- a/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
+++ b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
@@ -8,4 +8,6 @@ import kr.ajousw.myspringweb.entity.FavoriteMusic;
 
 public interface FavoriteRepository extends JpaRepository<FavoriteMusic, String> {
   List<FavoriteMusic> findAll();
+
+  void deleteById(String id);
 }
diff --git a/src/main/java/kr/ajousw/myspringweb/service/MusicService.java b/src/main/java/kr/ajousw/myspringweb/service/MusicService.java
index 51d1aa6..4bcd88a 100644
--- a/src/main/java/kr/ajousw/myspringweb/service/MusicService.java
+++ b/src/main/java/kr/ajousw/myspringweb/service/MusicService.java
@@ -52,4 +52,16 @@ public class MusicService {
         FavoriteMusic music = albumsRepo.save(favoriteMusic);
         return music != null ? 1 : 0;
     }
+
+    //deleteFavorite 함수 작성. delete는 id를 매개변수로 작동한다. 
+    public int deleteFavorite(String id){
+        try{
+            albumsRepo.deleteById(id);
+            System.out.println("좋아요 목록에서 삭제되었습니다.");
+            return 1;
+        }catch (Exception e){
+            System.out.println(e.toString());
+            return 0;
+        }
+    }
 }
-- 
GitLab