From f0ff2e22794275e77252711519ed90e362d9d9e1 Mon Sep 17 00:00:00 2001
From: JangMH <dnsfl1517@ajou.ac.kr>
Date: Wed, 9 Apr 2025 16:17:27 +0900
Subject: [PATCH] second

---
 .../myweb/controller/MyWebController.java     | 39 +++++++++++++++++++
 .../ajou/procoding/myweb/dto/MusicList.java   | 17 ++++++++
 .../ajou/procoding/myweb/dto/Tostring.java    |  5 +++
 3 files changed, 61 insertions(+)
 create mode 100644 src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java
 create mode 100644 src/main/java/com/ajou/procoding/myweb/dto/MusicList.java
 create mode 100644 src/main/java/com/ajou/procoding/myweb/dto/Tostring.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
new file mode 100644
index 0000000..2e28cf2
--- /dev/null
+++ b/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java
@@ -0,0 +1,39 @@
+package com.ajou.procoding.myweb.controller;
+
+import java.io.IOException;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+
+import com.ajou.procoding.myweb.dto.MusicList;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+@RestController
+
+public class MyWebController {
+
+    @GetMapping(value="/musicSearch/{term}")
+    public String musicSearchByPath(@PathVariable String term) {
+        return "";
+    }
+
+
+    @GetMapping(value="/musicSearch")
+    public MusicList musicSearchByParam(@RequestParam String term) { RestTemplate restTemplate = new RestTemplate();
+        String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", term);
+        try {
+            String response = restTemplate.getForObject(url, String.class);
+            ObjectMapper mapper = new ObjectMapper();
+            MusicList list = mapper.readValue(response, MusicList.class);
+            System.out.println(list.getResultCount());
+            return list; // 일단 문자열로 반환
+        } catch (IOException e) {
+            System.out.println(e.toString());
+            return null;
+        }}
+
+
+}
diff --git a/src/main/java/com/ajou/procoding/myweb/dto/MusicList.java b/src/main/java/com/ajou/procoding/myweb/dto/MusicList.java
new file mode 100644
index 0000000..9eb57ea
--- /dev/null
+++ b/src/main/java/com/ajou/procoding/myweb/dto/MusicList.java
@@ -0,0 +1,17 @@
+package com.ajou.procoding.myweb.dto;
+
+
+import java.util.List;
+import java.util.Map;
+
+import lombok.Getter;
+import lombok.Setter;
+@Getter
+@Setter
+@Tostring
+
+public class MusicList {
+    private Integer resultCount;
+    private List<Map<String, Object>> results;
+
+}
diff --git a/src/main/java/com/ajou/procoding/myweb/dto/Tostring.java b/src/main/java/com/ajou/procoding/myweb/dto/Tostring.java
new file mode 100644
index 0000000..ef39348
--- /dev/null
+++ b/src/main/java/com/ajou/procoding/myweb/dto/Tostring.java
@@ -0,0 +1,5 @@
+package com.ajou.procoding.myweb.dto;
+
+public @interface Tostring {
+
+}
-- 
GitLab