From b6e327ce20d4cf39a994630b3148615c0bfaa28c Mon Sep 17 00:00:00 2001
From: lucple <dlwnstj99@naver.com>
Date: Mon, 17 Jul 2023 17:02:47 +0900
Subject: [PATCH] [Add] delete Favorite

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

diff --git a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java
index ee6f159..15fac60 100644
--- a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java
+++ b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java
@@ -4,6 +4,7 @@ import java.io.IOException;
 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;
@@ -49,8 +50,19 @@ public class MyWebController {
         return service.saveFavorite(favorite);
     }
 
+    @DeleteMapping(value = "/likes/{id}")
+    public void deleteLikes(@PathVariable String id) {
+        service.deleteFavorite(id);
+    }
 }
 
+/*
+ * curl -X POST http://localhost:8098/likes -d '@postSong.json' -H
+ * "Content-Type:application/json"
+ * Invoke-WebRequest -Uri "http://localhost:8098/likes" -Method POST -InFile
+ * 'postSong.json' -ContentType "application/json"
+ */
+
 // @RestController
 // public class MyWebController {
 
diff --git a/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
index 51b0041..a638208 100644
--- a/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
+++ b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
@@ -7,4 +7,6 @@ import kr.ajousw.myspringweb.entity.FavoriteMusic;
 public interface FavoriteRepository extends
         JpaRepository<FavoriteMusic, String> {
     List<FavoriteMusic> findAll();
+
+    void deleteById(String id);
 }
\ No newline at end of file
diff --git a/src/main/java/kr/ajousw/myspringweb/service/MusicService.java b/src/main/java/kr/ajousw/myspringweb/service/MusicService.java
index faee6a0..2bb840b 100644
--- a/src/main/java/kr/ajousw/myspringweb/service/MusicService.java
+++ b/src/main/java/kr/ajousw/myspringweb/service/MusicService.java
@@ -60,4 +60,12 @@ public class MusicService {
             return 0;
         }
     }
+
+    public void deleteFavorite(String id) {
+        try {
+            albumsRepo.deleteById(id);
+        } catch (Exception e) {
+            System.out.println("Exception occurred while deleting the favorite: " + e.toString());
+        }
+    }
 }
\ No newline at end of file
-- 
GitLab