From 7ec89df3756cc5b1eb23698a08b4219d3dda53af Mon Sep 17 00:00:00 2001 From: Kim Daeun <iop2799@ajou.ac.kr> Date: Wed, 9 Apr 2025 16:47:57 +0900 Subject: [PATCH] get_likes --- .../myweb/controller/MyWebController.java | 27 ++++++++++++++++--- .../procoding/myweb/entity/FavoriteMusic.java | 24 +++++++++++++++++ .../myweb/repository/FavoriteRepository.java | 9 +++++++ 3 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/ajou/procoding/myweb/entity/FavoriteMusic.java create mode 100644 src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java diff --git a/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java b/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java index 1376d39..af5e39c 100644 --- a/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java +++ b/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java @@ -1,6 +1,8 @@ package com.ajou.procoding.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; @@ -8,17 +10,22 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import com.ajou.procoding.myweb.dto.MusicList; +import com.ajou.procoding.myweb.entity.FavoriteMusic; +import com.ajou.procoding.myweb.repository.FavoriteRepository; import com.fasterxml.jackson.databind.ObjectMapper; @RestController public class MyWebController { + RestTemplate restTemplate = new RestTemplate(); + @Autowired + FavoriteRepository albumsRepo; + @GetMapping(value="/musicSearch/{term}") public MusicList musicSearchByPath(@PathVariable String term) { try { String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", term); String response = restTemplate.getForObject(url, String.class); - //String response = restTemplate.getForObject("https://itunes.apple.com/search?term=aespa&entity=album", String.class); ObjectMapper mapper = new ObjectMapper(); MusicList list = mapper.readValue(response, MusicList.class); System.out.println(list.getResultCount()); @@ -34,7 +41,6 @@ public class MyWebController { try { String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", term); String response = restTemplate.getForObject(url, String.class); - //String response = restTemplate.getForObject("https://itunes.apple.com/search?term=aespa&entity=album", String.class); ObjectMapper mapper = new ObjectMapper(); MusicList list = mapper.readValue(response, MusicList.class); System.out.println(list.getResultCount()); @@ -46,6 +52,21 @@ public class MyWebController { } //몇 줄 아닌거 같아 보이는데 많은 일을 함 - RestTemplate restTemplate = new RestTemplate(); + //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; + } + + + } \ No newline at end of file diff --git a/src/main/java/com/ajou/procoding/myweb/entity/FavoriteMusic.java b/src/main/java/com/ajou/procoding/myweb/entity/FavoriteMusic.java new file mode 100644 index 0000000..e4f5ade --- /dev/null +++ b/src/main/java/com/ajou/procoding/myweb/entity/FavoriteMusic.java @@ -0,0 +1,24 @@ +package com.ajou.procoding.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; +} \ No newline at end of file diff --git a/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java b/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java new file mode 100644 index 0000000..447835f --- /dev/null +++ b/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java @@ -0,0 +1,9 @@ +package com.ajou.procoding.myweb.repository; + +import java.util.List; +import org.springframework.data.jpa.repository.JpaRepository; +import com.ajou.procoding.myweb.entity.FavoriteMusic; + +public interface FavoriteRepository extends JpaRepository<FavoriteMusic, String> { + List<FavoriteMusic> findAll(); +} -- GitLab