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 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 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