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