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 0000000000000000000000000000000000000000..26aa1f9e780aa65dd9730a2ad1e1804a5fdf2922 --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java @@ -0,0 +1,48 @@ +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 { + + @GetMapping(value = "/musicSearch/{term}") + public MusicList musicSearchByPath(@PathVariable String term) { + try { + RestTemplate restTemplate = new RestTemplate(); + String url = "https://itunes.apple.com/search?term=" + term + "&entity=album"; + String response = restTemplate.getForObject(url, String.class); // String class로 변환 + ObjectMapper mapper = new ObjectMapper(); + MusicList list = mapper.readValue(response, MusicList.class); // MusicList 방식으로 변환 + System.out.println(list.getResultCount()); + return list; // MusicList를 반환 + } catch (IOException e) { + System.out.println(e.toString()); + return null; + } + } + + @GetMapping(value = "/musicSearch") + public MusicList musicSearchByParam(@RequestParam String term){ + try { + RestTemplate restTemplate = new RestTemplate(); + String url = "https://itunes.apple.com/search?term=" + term + "&entity=album"; + String response = restTemplate.getForObject(url, String.class); // String class로 변환 + ObjectMapper mapper = new ObjectMapper(); + MusicList list = mapper.readValue(response, MusicList.class); // MusicList 방식으로 변환 + 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 0000000000000000000000000000000000000000..b5d7d8e4c13a7ec6eb75a5482a92b048de37ef74 --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/dto/MusicList.java @@ -0,0 +1,17 @@ +package kr.ajousw.myspringweb.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; +}