From 3bd249a3937e9d25dd8654def286c39420a8d004 Mon Sep 17 00:00:00 2001
From: DongHwi Kim <ken7905@ajou.ac.kr>
Date: Mon, 17 Jul 2023 16:01:14 +0900
Subject: [PATCH] second commit

---
 .../controller/MyWebController.java           |  68 ++++++++++++++++++
 .../kr/ajousw/myspringweb/dto/MusicList.java  |  16 +++++
 .../myspringweb/entity/FavoriteMusic.java     |  26 +++++++
 .../repository/FavoriteRepository.java        |  12 ++++
 .../controller/MyWebController.class          | Bin 0 -> 3014 bytes
 .../kr/ajousw/myspringweb/dto/MusicList.class | Bin 0 -> 1566 bytes
 .../myspringweb/entity/FavoriteMusic.class    | Bin 0 -> 2730 bytes
 .../repository/FavoriteRepository.class       | Bin 0 -> 619 bytes
 8 files changed, 122 insertions(+)
 create mode 100644 src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java
 create mode 100644 src/main/java/kr/ajousw/myspringweb/dto/MusicList.java
 create mode 100644 src/main/java/kr/ajousw/myspringweb/entity/FavoriteMusic.java
 create mode 100644 src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
 create mode 100644 target/classes/kr/ajousw/myspringweb/controller/MyWebController.class
 create mode 100644 target/classes/kr/ajousw/myspringweb/dto/MusicList.class
 create mode 100644 target/classes/kr/ajousw/myspringweb/entity/FavoriteMusic.class
 create mode 100644 target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class

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 0000000..6a0a8f4
--- /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 0000000..a7d3585
--- /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 0000000..8c95e7b
--- /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 0000000..b25b2ab
--- /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
GIT binary patch
literal 3014
zcmX^0Z`VEs1_oP(0(J%_Mh1iIBK^dy{L<ob{oKmpf}+g4^zzgs{p9?-lA`>aoYW$H
z-^%dRBxg9Eoq>gsK_Dx!EKxrvF)v-;KPf9UxrC8{y(qP?G_|;dkwMcZD=|B<s3cLp
zIJKxOC$&UBqokxj-=n0YAQ&PL1W{_u$iS7DlT?~p9F$s+&&XivgWWMjsRjAPnI-u}
zmHKXpW%)&!C8;0{5Fu+u2Fak(ypqh^)UeFr%%q%D$Gp7!lEjkC{JdgD1`D73qI7+T
z$I^-tb5qOni?a2TQWNuv_0tlQ!G<QnHRwB*mgJXb7Nw?GGcvH*Waed-*fBCNYiNcs
zGO#%3r=)T*Ff;J;FmN;QFf#D_Wag#%mF6a;7KJ1x<)kt)2>IkEC+37D7G;9?P(hZG
zjLc$21|uAv!yVGrj0}RgrNx=a!KsNw$r(<S1&JjYj0~0<K8Vl{E&;`uwI&Y3Q%dsn
zeL+U}WEPiLGcuT94GmC)CuQcP=pzM$duoYqVnIP>Ub;0S18Z4gPH8G5gRnl5d-SVI
zQj2nH85xvNgFhe<6wD>5MJVxLMzqZVi6t4ZAhc#@kYQxd#ukMjM<?fGrskFC2c;I5
zgrw#c<Rq4)axq9V@N+USGRX5Vurjc5Gbl1Bvok0$GN==oD0vuE7*rV<c+*o$pvg2e
z$di#lL<5wpVTm3Z?CcEcD0u-Q403`d4}%tiHX{R1dTNPVei1B_cwvb<q}X)MNh~h5
zjz$uJXtYMQ8!E)kpv%ahot&SmpO#o$l3G-eo1>qVn4DdlpQoRaSds{iP>5PkM5Y#T
zG3YSxvojblGALuuW+;gTq}qsw!I;5>k%6-)H8CX&k_60&@c|a+ax$1PSg<pgqlQ;y
zaY<?}4}&Fx6(a+4erX9KgDAxFnfdwwMVWae!6ikhiMiHX4EhW<JPfuBc8m;s;Fu{c
z%_(utFU<pKL5UjAypq)P)FNvx1_uTwb_PdA24Qe^K{b(w!I{B@k%1jl;FaX$F*1lE
z`wJ3m)|z2l3~me_><sQmhIsnBRwSnufQlC$22W5@;V8+6MZ5!pH^^ikH1i<R*5FbE
zlxaXE1=vyG5)>-S$iP#Cl#m%2ba7@GEa~2wk%6NqwYVTZuQ-*Ffh{+&pdhsfWCjT-
z#F~+TB_|V9gsT!+o-n2&#~4!3STi#42A3ozXZt1=K+8b^-_(+f{1kZcP|V06gjAe3
zRf1(08F-Kj8Ab-;3l3;@1sekjj`Y+LpUmu3kUg*zQd*LkqYo_$IfFCP^Abx+i&7aG
z9558v;0S@#ypqfkL_Gv9T&?XuwS|5T$TCpTlgz`w&cMOVkjjwG&XC5)V2nM#;jPwq
z7%~{*7#Y~pGV@X#b8@&CvOozj8<r5k2?w4K;gNtU460v)^Gl18Q{6H_)sqNXRjvn0
zgSe_lQ27cjLy#&3P(h1m30N~IGB7eQGcYhPF))A%TLutdXW(F9WZ-0AU|?flWZ+_8
zU|?Zj1XY*}j10UC3=H}Vj0}t*^;+8*_%?zy3qTb!Fo-e;GB7akKol?tF$gm-FfcNR
zFo-g+fQ{s1U}O+uU}O-FW?(F4kYJExU|?VenJ2}-05<(60}BHi0|P_AZU*Vd?F_QM
zI$B#8<aRPBFfs_KG4Ewy-o~JDfI-b~H-k>(b_P8w7D*OeA^mL(h6fn*tyniPm`bv4
zW3b-FU@ytK!EY0TsqQug*KG`5j2jpj88{f67@Qg07?>GA4psv@NSc9zL6$+DL5@L#
zL7u^sL4m=6L6O0kL5abIL7BmiK?Up~4+eISo1h+IU<hFFW$*)==)vI65Wv91AkUz}
z5Xj)iz|5e*Ak7fO5X`{BV9LP95W*13z{=plz{3#65YE8N5WxTnB*y;?&J4`#42<jy
zYU~WsAli)~5)`P648GtXi^36P(cmEC0R>qMC>)C!d<P`lv=}%TbQ$Cs^cXZ4^chSU
z3>X|33>lmmj2K)Pj2ZkGOa>_2Vj1EXm>J^1$ua>P!>CCv5gc0C3{2oOFRrzPA!#Q=
z3M0b?pG^#=+S?d1VTpx-fs+B0X(5S4h=B#%=H_CsW8h}6XAos@0DDjjVhl84aD$^c
fhk+3s&1?*eUhE863``8UVCUq4ode2L`3wvIkF62!

literal 0
HcmV?d00001

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
GIT binary patch
literal 1566
zcmX^0Z`VEs1_oOO2X+P~Mh4~VBK^dy{L<ob{oKmpf}+g4^zzgs{gje?ec#gJ%w(U;
z;u3ZS7Dfhvti-ZJ{hY+SbbbG%tkmQZMh5Pp)Z)^d66gHVyb?wRVIPDF&%Bb<^wc72
zMh13>nqo!<0f>BQNoI~d$W&`a2F~Ej^t{B9(xOyG26r@R8zjDOVgZy3wm-N8<V<Ub
z0<Z|gMb>uKcGipxY&MyBnI(3N49psuVT=qc&iN^+Tnx+%{5%ZY3_Oes{63j^seYxo
zNvTC4iAg!Bj0{3P`N@enVTnbVAU;%(r6eP>n2|x%hlmieW@O+?Pb~>T4i8ZcO(Yk>
zLWGlnkwKh?ft7)ck%0@YrI?XH2&No4fIKk-q2T~lL`txL?3LkRU}xZ9WZ)}CbE=pI
z7MFs;PQW*{BqKj1Ah9ShH?<_SsF;y~3$D4CkwF-$5$qgrq=IyLp^K91XpmuIsBu$S
zkP3|-j*@&xLSSSNfdvydF+fDE*%{Os8N?B35+dwWnwgW5TExMi$;coEPvIJnR0>YX
zwp<Kq4BDWyqQl4_3iS%I!J1)Q42%qVJPaZXq9C;fJPd{mMvM$>i3J6zc`1wxy2zTK
zNfS9Opt!`EgTaK6flEgL;)G(b^=2R=&CyJPXtTy`63AJWJPZ;Hk{k@yj0}vLAlKRQ
zFsLx7GBR)l=a&{Gr@Cc=5<DN==X#(3Vo+pYWMF1sU|?ck0wql_i=Bakfsug|%;sWX
zV_*d39tK7RUIqpReFjDbMg|53R;}#}d>g?^1Q-~=iWnGp83Y*^7<eEG7=##v85kHC
zL4k##c?*Ns1~koFST##9NHQ=%-6DnNf-MZv#2F&XAjiN2)@%j#C<6nVmiAT#F?9EH
zgPkD8zy$UY#Qh+@v4Z_45Arr611p0710#b1gCYYn)LlwoqkWK#mIfKk%zy|QTt-8}
zS{WW}Yz*uSpxA_3#tybjg+Ub>g8mH5;Lugw&7c-3q_LerOKTg0?luN}A>(Zfrdrz=
eEI@3lZ49Q{7;Ml3hX?FENc5<}qsI;$5B30}dQ<%X

literal 0
HcmV?d00001

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
GIT binary patch
literal 2730
zcmX^0Z`VEs1_oP(Om+q)Mh30yBK^dy{L<ob{oKmpf}+g4^zzgs{nWgY%#uodx5Tpi
zqRf(1-_qjDWOfD?Mh1bb#Ii*FoW#6zegCAa)Z`LI2A<^noSf9;lFa-(&lE-mAs>X2
z;1ZC5){G32L8W;mnYpQ9nZ=n&IjN3$dHE%YARWbw3=%$BiP?!oC5ie4sYS(^#U-hE
z$*KCDDb|b(GFYXY^K(jb^Q;*e*m6?y(n~U!85kH87#a8w?g*(YNM&T;NGvMJEG_{#
ziVMQ@OUzAWWZ;Ex!ZK6KLyK}yG(r>zB20oSVzbH2%Pg^DWMJ0N3}a+qan4Uk<zirF
z5aVGGVi0Cz;P=VQOZ6+wO-d~aNleN~1qDQYa$-(cVo@fD4;5r7$;d2bWYF;;KHRMt
z8TivvOPo<cSwuq<Gn_dY7#ZYv7+4wD7#Rdnw15HxB&*27zyp%yPERdygoX}CT!n{$
z7bMOL7YBs|NJgE9fe$1j0GELV2}n|lhk+j?iE0^4t1b_N07zB@#VJVI4R{y?K??Yb
z(Y+_Cf$2L?unYL6mSp6o1SA$E=BAdU78Nrx2%=~Pd6bcXyBOg;Mh0Fu59BgN1_3x9
z>K1fEAj(8g42CP^D9MK;Yjy@3Mh0>8#O_p@nUj)Q#KB<4$RLf9e>4!O$}`25i@}<~
z0hD%(xEL52oOl?d8Dv0WE<6mb3~r1JY>5R0sd*`k47%8Y0wZ*w)>?BgcrY>u>L?)W
z0)>bz$PO<a26+Y<4hA1a25ub%NFD$?gpt9Ihd~J>6~M^A3zGr`0$5)V4}&U5GK7&q
z0450y4X}I|4}%6sJ_5~RxB*c-4B8+CF^mi%$Sy-RB#wtc52Pl6k%3VY6b?x|3|0&>
zj0{}C`K3k4scxCzEQJ!FdZ4h!RY<skOE7Cj25GEi2sk@hGcvH`L5hSl<dTj-k%5r`
zRI0EuFoALt10w@F0|Ns;0}}%W0|Nsn<#Ty5a5FH0G80sije(JYlYxPO36zmA#P}FM
z@*qP%G(;Ug7BK-VVuBcA0t}3xLWhBoL4<*UL7#z<fsuiMfmLfegXl)E6T}%9z?v8s
zgcu|k7#MgU3K%3Aq!<_&7(r<bL-Q5}*$rr#`LSx2XOO|7S%EmsN?0{36Q@}ft7bLg
zG;3hhtVx_^ZLFGgh|{cxRkJ>EnhhC@7?{BEY{kIDzyyj|E$yugvgi>l0FEm$hze*#
zgAxHNI3XB=(g!00D+4I$m|!<jfmkDXkc|YD@r(?n*o{;s)<|AtBYDBDG{bJB8nH$~
zvK-Xod|)HZu^XvLtdWo$3pJ7-Y@`KtBXx*15|ZJeMhbw9w8U<tKCwnZ$_uEGf?y-9
z;3=@1ff-yDB<^Ogjuf)p&S0;#jlppngR_wPHU?*{Z490uwl{?B3u602*nuE+FoYcn
zVuwT6ksx+7gdGcF$8TeB-o}uKp1K9W=@U{AB|_6D6GJk%#7Th{uc-_S3~3CE4C%!T
F830hb&(i<^

literal 0
HcmV?d00001

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
GIT binary patch
literal 619
zcmX^0Z`VEs1_oOO5q1V9Mh4^TBK^dy{L<ob{oKmpf}+g4^zzgs{i4)@{Nl`#{Gv*I
zx5TpiqRf)iAh-}a0}CUAKvrT|qJB<dUb?=2QdVkm2|EKDBZFyvQMx|Fn6#qA+|=^?
zqHO(?#F9k)tb#;jQ@sij5e70cu%~6_r8wr~Ffs^fX!?MSE-lH-(f7$LF0p20;0(@8
z&r2*RElOo%aKKPt<AdE3sd*)tB?u4rmKJ9wTiaPPGKj&906X8aB(*3pDJRvMk%7fI
zKP8o$fsuiahk>1egOP#XCo?bAuQWF)wI~FnhLJ(YCqFqcCoHij6U2uKas}s?7A2>;
zW#*(ZGKgb_m>$SSj0~L+pMh<K1e&!ESpi0pkC7}5E&)ZbwVgE^BLgD?GXo<7D+2=q
z6AL5Aw+xI7oFE<pmw+P!I|C>fco-NM)EPi(85r2Lb~5lXGHd`V;b&lAU}IopU|?Wm
S5CDrXFfcI)f>}aPV}t>BptR%w

literal 0
HcmV?d00001

-- 
GitLab