From 5e459d6be6feba1ee7a3505796a38c53e95b20c5 Mon Sep 17 00:00:00 2001
From: jane <janejane101@ajou.ac.kr>
Date: Wed, 9 Apr 2025 16:54:08 +0900
Subject: [PATCH] get_likes

---
 .../myweb/controller/MyWebController.java     | 20 +++++++++++++++-
 .../prcoding/myweb/entity/FavoriteMusic.java  | 24 +++++++++++++++++++
 .../myweb/repository/FavoriteRepository.java  | 12 ++++++++++
 3 files changed, 55 insertions(+), 1 deletion(-)
 create mode 100644 src/main/java/com/ajou/prcoding/myweb/entity/FavoriteMusic.java
 create mode 100644 src/main/java/com/ajou/prcoding/myweb/repository/FavoriteRepository.java

diff --git a/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java b/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java
index 053be34..79f41e3 100644
--- a/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java
+++ b/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java
@@ -1,7 +1,9 @@
 package com.ajou.prcoding.myweb.controller;
 
 import java.io.IOException;
+import java.util.List;
 
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.PathVariable;
 import org.springframework.web.bind.annotation.RequestParam;
@@ -9,13 +11,19 @@ import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.RestTemplate;
 
 import com.ajou.prcoding.myweb.dto.MusicList;
+import com.ajou.prcoding.myweb.entity.FavoriteMusic;
+import com.ajou.prcoding.myweb.repository.FavoriteRepository;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 @RestController
 public class MyWebController {
+    @Autowired
+    FavoriteRepository albumsRepo;
+
+    RestTemplate restTemplate = new RestTemplate();
+
     @GetMapping(value="/musicSearch/{term}")
     public MusicList musicSearchByPath(@PathVariable String term) {
-        RestTemplate restTemplate = new RestTemplate();
         try {
             String response = restTemplate.getForObject("https://itunes.apple.com/search?term={term}&entity=album",String.class, "aespa");
             ObjectMapper mapper = new ObjectMapper();
@@ -41,6 +49,16 @@ public class MyWebController {
             }
             return null;
     }
+    //Get Favorite Music list from Database
+    @GetMapping(value="/likes")
+    public List<FavoriteMusic> getLikes() {
+        try {
+            return albumsRepo.findAll();
+        } catch (Exception e) {
+            System.out.println(e.toString());
+            return null;
+        }
+}
 
     
     
diff --git a/src/main/java/com/ajou/prcoding/myweb/entity/FavoriteMusic.java b/src/main/java/com/ajou/prcoding/myweb/entity/FavoriteMusic.java
new file mode 100644
index 0000000..921201c
--- /dev/null
+++ b/src/main/java/com/ajou/prcoding/myweb/entity/FavoriteMusic.java
@@ -0,0 +1,24 @@
+package com.ajou.prcoding.myweb.entity;
+
+import jakarta.persistence.Column;
+import jakarta.persistence.Entity;
+import jakarta.persistence.Id;
+import jakarta.persistence.Table;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Entity
+@Table(name="favoriteMusic")
+@Getter
+@Setter
+@ToString
+public class FavoriteMusic {
+    @Id @Column(length=32) private String collectionId;
+    @Column private String collectionType;
+    @Column private String artistId;
+    @Column private String artistName;
+    @Column private String artistViewUrl;
+    @Column private String collectionName;
+    @Column private String collectionViewUrl;
+}
diff --git a/src/main/java/com/ajou/prcoding/myweb/repository/FavoriteRepository.java b/src/main/java/com/ajou/prcoding/myweb/repository/FavoriteRepository.java
new file mode 100644
index 0000000..662d49d
--- /dev/null
+++ b/src/main/java/com/ajou/prcoding/myweb/repository/FavoriteRepository.java
@@ -0,0 +1,12 @@
+package com.ajou.prcoding.myweb.repository;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+
+import com.ajou.prcoding.myweb.entity.FavoriteMusic;
+
+public interface FavoriteRepository extends JpaRepository<FavoriteMusic, String>{
+    List<FavoriteMusic> findAll();
+
+}
-- 
GitLab