diff --git a/src/main/java/kr/ajou/prcoding/mySpringWeb/controller/MyWebController.java b/src/main/java/kr/ajou/prcoding/mySpringWeb/controller/MyWebController.java index 77c3f3b107b4c5d526854d8adb7644339e911212..60035a0d9111591919350158089db0c1193e2ef2 100644 --- a/src/main/java/kr/ajou/prcoding/mySpringWeb/controller/MyWebController.java +++ b/src/main/java/kr/ajou/prcoding/mySpringWeb/controller/MyWebController.java @@ -1,7 +1,9 @@ package kr.ajou.prcoding.mySpringWeb.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,16 +11,20 @@ import org.springframework.web.bind.annotation.RestController; import org.springframework.web.client.RestTemplate; import com.fasterxml.jackson.databind.ObjectMapper; import kr.ajou.prcoding.mySpringWeb.dto.MusicList; +import kr.ajou.prcoding.mySpringWeb.entity.FavoriteMusic; +import kr.ajou.prcoding.mySpringWeb.repository.FavoriteRepository; @RestController public class MyWebController { RestTemplate restTemplate = new RestTemplate(); private String url = "http://itunes.apple.com"; // ?term=${searchWord}&entity=album + @Autowired + FavoriteRepository albumsRepo; @GetMapping(value = "/musicSearch/{term}") public MusicList musicSearchByPath(@PathVariable String term) { // String이 리턴 타입 이었음. try { - url = url+String.format("/search?term=%s&entity=album", term); + url = url + String.format("/search?term=%s&entity=album", term); String response = restTemplate.getForObject(url, String.class); ObjectMapper mapper = new ObjectMapper(); MusicList list = mapper.readValue(response, MusicList.class); @@ -30,10 +36,10 @@ public class MyWebController { } } - @GetMapping(value="/musicSearch") - public MusicList musicSearchByParam(@RequestParam(value="term") String name){ + @GetMapping(value = "/musicSearch") + public MusicList musicSearchByParam(@RequestParam(value = "term") String name) { try { - url = url+String.format("/search?term=%s&entity=album", name); + url = url + String.format("/search?term=%s&entity=album", name); String response = restTemplate.getForObject(url, String.class); ObjectMapper mapper = new ObjectMapper(); MusicList list = mapper.readValue(response, MusicList.class); @@ -45,4 +51,18 @@ public class MyWebController { } } + // 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/kr/ajou/prcoding/mySpringWeb/entity/FavoriteMusic.java b/src/main/java/kr/ajou/prcoding/mySpringWeb/entity/FavoriteMusic.java new file mode 100644 index 0000000000000000000000000000000000000000..3d9a55ebc2d8d6815d8d965359f700272c246353 --- /dev/null +++ b/src/main/java/kr/ajou/prcoding/mySpringWeb/entity/FavoriteMusic.java @@ -0,0 +1,25 @@ +package kr.ajou.prcoding.mySpringWeb.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/kr/ajou/prcoding/mySpringWeb/repository/FavoriteRepository.java b/src/main/java/kr/ajou/prcoding/mySpringWeb/repository/FavoriteRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..a36ba57274289b3b5c4497ef69730e8e29012e5d --- /dev/null +++ b/src/main/java/kr/ajou/prcoding/mySpringWeb/repository/FavoriteRepository.java @@ -0,0 +1,9 @@ +package kr.ajou.prcoding.mySpringWeb.repository; + +import java.util.List; +import org.springframework.data.jpa.repository.JpaRepository; +import kr.ajou.prcoding.mySpringWeb.entity.FavoriteMusic; + +public interface FavoriteRepository extends JpaRepository<FavoriteMusic, String> { + List<FavoriteMusic> findAll(); +}