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..6a0a8f4d3fcec3c5fb1d71816fbf76acfda7051c --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java @@ -0,0 +1,68 @@ +package kr.ajousw.myspringweb.controller; + +import java.io.IOException; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +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 jakarta.servlet.http.HttpServletRequest; +import kr.ajousw.myspringweb.dto.MusicList; +import kr.ajousw.myspringweb.entity.FavoriteMusic; +import kr.ajousw.myspringweb.repository.FavoriteRepository; + +@RestController +public class MyWebController{ + HttpServletRequest request; + + + @GetMapping(value = "/musicSearch/{term}") + public MusicList musicSearchBypath(@PathVariable String term){ + RestTemplate restTemplate = new RestTemplate(); + try{ + String response = restTemplate.getForObject(request.getRequestURI(), 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("term") String term){ + RestTemplate restTemplate = new RestTemplate(); + + try{ + String response = restTemplate.getForObject(request.getRequestURI(), 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; + } + } + + @Autowired + FavoriteRepository albumsRepo; + @GetMapping(value = "/likes") + public List<FavoriteMusic> getLikes(){ + try{ + return albumsRepo.findAll(); + } catch(Exception e){ + System.out.println(e.toString()); + return null; + } + } + +} \ No newline at end of file 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..a7d3585cc3b40ac1abc782cee176ac082b43476d --- /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/java/kr/ajousw/myspringweb/entity/FavoriteMusic.java b/src/main/java/kr/ajousw/myspringweb/entity/FavoriteMusic.java new file mode 100644 index 0000000000000000000000000000000000000000..8c95e7b1c8c81eb536197b590728704d572b4bc6 --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/entity/FavoriteMusic.java @@ -0,0 +1,26 @@ +package kr.ajousw.myspringweb.entity; + + + +import jakarta.persistence.Column; +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +@Entity +@Table(name="favoriteMusic") +@Getter +@Setter +@ToString +public class FavoriteMusic { + @Id @Column(length=32) private String collectionId; + @Column private String collectionType; + @Column private String artistId; + @Column private String artistName; + @Column private String artistViewUrl; + @Column private String collectionName; + @Column private String collectionViewUrl; +} diff --git a/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java new file mode 100644 index 0000000000000000000000000000000000000000..b25b2ab074cfc517a02b4ac892265566ac07ed54 --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java @@ -0,0 +1,12 @@ +package kr.ajousw.myspringweb.repository; + +import java.util.List; + +import org.springframework.data.jpa.repository.JpaRepository; + +import kr.ajousw.myspringweb.entity.FavoriteMusic; + +public interface FavoriteRepository extends JpaRepository<FavoriteMusic, String>{ + List<FavoriteMusic> findAll(); + +} diff --git a/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class b/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class new file mode 100644 index 0000000000000000000000000000000000000000..2a948f4d1919cc54ffcae59a44144b8a3688c41c Binary files /dev/null and b/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class differ diff --git a/target/classes/kr/ajousw/myspringweb/dto/MusicList.class b/target/classes/kr/ajousw/myspringweb/dto/MusicList.class new file mode 100644 index 0000000000000000000000000000000000000000..9764cc57b21441d861ffd91190935e33baa4a680 Binary files /dev/null and b/target/classes/kr/ajousw/myspringweb/dto/MusicList.class differ diff --git a/target/classes/kr/ajousw/myspringweb/entity/FavoriteMusic.class b/target/classes/kr/ajousw/myspringweb/entity/FavoriteMusic.class new file mode 100644 index 0000000000000000000000000000000000000000..0c549de6993be58737fbe6ffd4b1968800264a6a Binary files /dev/null and b/target/classes/kr/ajousw/myspringweb/entity/FavoriteMusic.class differ diff --git a/target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class b/target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class new file mode 100644 index 0000000000000000000000000000000000000000..4a1f88d371634494cc49158cf175b63f6d9994e2 Binary files /dev/null and b/target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class differ