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..7324579ec00dc0541a874bb4d2695ae70cabba85 --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/controller/MyWebcontroller.java @@ -0,0 +1,50 @@ +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) { + try { + String url = "https://itunes.apple.com/search?term="+ term +"&entity=album"; + 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) { + try { + String url = "https://itunes.apple.com/search?term="+ term +"&entity=album"; + 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 0000000000000000000000000000000000000000..524fa67da9f20d254fdfbf30cb6767c9e5a631b2 --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/dto/MusicList.java @@ -0,0 +1,16 @@ +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; +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 8b137891791fe96927ad78e64b0aad7bded08bdc..c2c04a4c148afcff1f5e2f6c9696e4a28b183cb9 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1 +1,19 @@ +server.port = 8098 +spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver + +spring.datasource.url=jdbc:mysql://210.107.196.163:44398/webdev?serverTimezone=UTC + +spring.datasource.username=root + +spring.datasource.password=lmk2430 + +spring.jpa.properties.hibernate.show_sql=true + +spring.jpa.properties.hibernate.format_sql=true + +logging.level.org.hibernate.type.descriptor.sql=trace + +spring.jpa.hibernate.ddl-auto=update + +spring.jpa.database-platform=org.hibernate.dialect.MySQLDialect