From a238d09d6018e8363e086b55cd112926195bae90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=ED=95=9C=EC=9D=B4=EC=A7=80?= <leezy211@ajou.ac.kr> Date: Mon, 17 Jul 2023 15:27:35 +0900 Subject: [PATCH] musicSearch --- .../controller/MyWebController.java | 65 +++++++++++++++++++ .../kr/ajousw/myspringweb/dto/MusicList.java | 17 +++++ 2 files changed, 82 insertions(+) create mode 100644 src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java create mode 100644 src/main/java/kr/ajousw/myspringweb/dto/MusicList.java diff --git a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java new file mode 100644 index 0000000..25085d6 --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java @@ -0,0 +1,65 @@ +package kr.ajousw.myspringweb.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.fasterxml.jackson.databind.ObjectMapper; + +import kr.ajousw.myspringweb.dto.MusicList; + +@RestController +public class MyWebController { + RestTemplate restTemplate = new RestTemplate(); + @GetMapping(value="/musicSearch/{term}") + public MusicList musicSearchByPath(@PathVariable String term) { + String url = "https://itunes.apple.com/search?term=" + term + "&entity=album"; + 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 String term){ + String url = "https://itunes.apple.com/search?term=" + term + "&entity=album"; + 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/kr/ajousw/myspringweb/dto/MusicList.java b/src/main/java/kr/ajousw/myspringweb/dto/MusicList.java new file mode 100644 index 0000000..cbe6e5d --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/dto/MusicList.java @@ -0,0 +1,17 @@ +package kr.ajousw.myspringweb.dto; + +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +import java.util.List; +import java.util.Map; + +@Getter +@Setter +@ToString +public class MusicList { + + private Integer resultCount; + private List<Map<String, Object>> results; +} -- GitLab