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