From ad4b9d5330dd2faf22ade27d1797bd5496922d11 Mon Sep 17 00:00:00 2001 From: Kim Daeun <iop2799@ajou.ac.kr> Date: Wed, 9 Apr 2025 16:20:34 +0900 Subject: [PATCH] musicSearch --- .../myweb/controller/MyWebController.java | 51 +++++++++++++++++++ .../ajou/procoding/myweb/dto/MusicList.java | 15 ++++++ 2 files changed, 66 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 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..1376d39 --- /dev/null +++ b/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java @@ -0,0 +1,51 @@ +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 MusicList musicSearchByPath(@PathVariable String term) { + try { + String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", term); + String response = restTemplate.getForObject(url, String.class); + //String response = restTemplate.getForObject("https://itunes.apple.com/search?term=aespa&entity=album", 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){ + try { + String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", term); + String response = restTemplate.getForObject(url, String.class); + //String response = restTemplate.getForObject("https://itunes.apple.com/search?term=aespa&entity=album", 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; + } + //몇 줄 아닌거 같아 보이는데 많은 일을 함 + + RestTemplate restTemplate = new RestTemplate(); + +} \ No newline at end of file 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..ab6ca8e --- /dev/null +++ b/src/main/java/com/ajou/procoding/myweb/dto/MusicList.java @@ -0,0 +1,15 @@ +package com.ajou.procoding.myweb.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