From dee8a6073f395abc4549eecff87184ca42758fc2 Mon Sep 17 00:00:00 2001
From: LeeChanJu <dlckswn334@ajou.ac.kr>
Date: Mon, 17 Jul 2023 15:49:07 +0900
Subject: [PATCH] musicSearch

---
 controller/MyWebController.java               |  3 -
 src/main/java/kr/ajousw/dto/MusicList.java    | 16 +++++
 .../controller/MyspringwebController.java     | 58 +++++++++++++++++++
 src/main/resources/application.properties     |  3 +-
 4 files changed, 75 insertions(+), 5 deletions(-)
 delete mode 100644 controller/MyWebController.java
 create mode 100644 src/main/java/kr/ajousw/dto/MusicList.java
 create mode 100644 src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java

diff --git a/controller/MyWebController.java b/controller/MyWebController.java
deleted file mode 100644
index c3e6356..0000000
--- a/controller/MyWebController.java
+++ /dev/null
@@ -1,3 +0,0 @@
-public class MyWebController {
-    
-}
diff --git a/src/main/java/kr/ajousw/dto/MusicList.java b/src/main/java/kr/ajousw/dto/MusicList.java
new file mode 100644
index 0000000..20d274c
--- /dev/null
+++ b/src/main/java/kr/ajousw/dto/MusicList.java
@@ -0,0 +1,16 @@
+package kr.ajousw.dto;
+
+import java.util.List;
+import java.util.Map;
+
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+public class MusicList {
+    private Integer resultCount;
+    private List<Map<String,Object>> results;
+}
diff --git a/src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java b/src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java
new file mode 100644
index 0000000..8c33c3d
--- /dev/null
+++ b/src/main/java/kr/ajousw/myspringweb/controller/MyspringwebController.java
@@ -0,0 +1,58 @@
+package kr.ajousw.myspringweb.controller;
+
+import java.io.IOException;
+
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.client.RestTemplate;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import kr.ajousw.dto.MusicList;
+
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestParam;
+
+
+@RestController
+public class MyspringwebController {
+    @RequestMapping("/")
+	public String index() {
+		return "Greetings from Spring Boot!";
+	}
+
+    @GetMapping(value="/musicSearch/{term}")
+    public MusicList musicSearchByPath(@PathVariable String term){
+        String url = "https://itunes.apple.com/search?term=" + term + "&entity=album";
+        RestTemplate restTemplate = new RestTemplate();
+        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;
+        }
+    }
+
+    @GetMapping(value="/musicSearch")
+    public MusicList musicSearchByParam(@RequestParam(value="term") String name){
+        String url = "https://itunes.apple.com/search?term=" + name + "&entity=album";
+        RestTemplate restTemplate = new RestTemplate();
+        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/resources/application.properties b/src/main/resources/application.properties
index e149621..29b0831 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -2,8 +2,7 @@ server.port = 8098
 
 spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
 
-spring.datasource.url=jdbc:mysql://210.107.196.163:42398/webdev?serverTimezone=
-UTC
+spring.datasource.url=jdbc:mysql://210.107.196.163:42398/webdev?serverTimezone=UTC
 
 spring.datasource.username=root
 
-- 
GitLab