From b731822465b7869a22bf0eb4955ec4b2c5fb9369 Mon Sep 17 00:00:00 2001 From: SoobinHwang <rorngk22@ajou.ac.kr> Date: Mon, 17 Jul 2023 16:25:39 +0900 Subject: [PATCH] post_likes --- postSong.json | 22 ++++++++++++ .../controller/MyWebController.java | 16 +++++++++ .../dto/FavoriteMusicRequestDto.java | 34 ++++++++++++++++++ .../myspringweb/entity/FavoriteMusic.java | 24 ++++++++----- .../controller/MyWebController.class | Bin 2928 -> 3673 bytes .../dto/FavoriteMusicRequestDto.class | Bin 0 -> 2868 bytes 6 files changed, 88 insertions(+), 8 deletions(-) create mode 100644 postSong.json create mode 100644 src/main/java/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java create mode 100644 target/classes/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.class diff --git a/postSong.json b/postSong.json new file mode 100644 index 0000000..ddb0c7e --- /dev/null +++ b/postSong.json @@ -0,0 +1,22 @@ +{ + "wrapperType":"collection", + "collectionType":"Album", + "artistId":994656, + "collectionId":580708175, + "amgArtistId":4739, + "artistName":"Led Zeppelin", + "collectionName":"Led Zeppelin IV (Remastered)", + "collectionCensoredName":"Led Zeppelin IV (Remastered)", + "artistViewUrl":"https://music.apple.com/us/artist/led-zeppelin/994656?uo=4", + "collectionViewUrl":"https://music.apple.com/us/album/led-zeppelin-iv-remastered/580708175?uo=4", + "artworkUrl60":"https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/5c/15/9b/5c159b27-95ca-b9a7-84e3-28e795fffd39/dj.kvkrpptq.jpg/60x60bb.jpg", + "artworkUrl100":"https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/5c/15/9b/5c159b27-95ca-b9a7-84e3-28e795fffd39/dj.kvkrpptq.jpg/100x100bb.jpg", + "collectionPrice":9.99, + "collectionExplicitness":"notExplicit", + "trackCount":8, + "copyright":"℗ 1971 Atlantic Recording Corporation, a Warner Music Group Company. Marketed by Rhino Entertainment Company, a Warner Music Group Company.", + "country":"USA", + "currency":"USD", + "releaseDate":"1971-11-08T08:00:00Z", + "primaryGenreName":"Rock" +} diff --git a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java index 7236e43..2507cfc 100644 --- a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java +++ b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java @@ -1,12 +1,16 @@ package kr.ajousw.myspringweb.controller; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; 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.transaction.Transactional; +import kr.ajousw.myspringweb.dto.FavoriteMusicRequestDto; import kr.ajousw.myspringweb.dto.MusicList; import kr.ajousw.myspringweb.entity.FavoriteMusic; import kr.ajousw.myspringweb.repository.FavoriteRepository; @@ -69,4 +73,16 @@ public class MyWebController { } } + @PostMapping(value = "/likes") + @Transactional + public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) { + FavoriteMusic music = albumsRepo.save(favorite.toEntity()); + if (music != null) { + return 1; + } + else { + return 0; + } + } + } diff --git a/src/main/java/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java b/src/main/java/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java new file mode 100644 index 0000000..565c52d --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java @@ -0,0 +1,34 @@ +package kr.ajousw.myspringweb.dto; + +import kr.ajousw.myspringweb.entity.FavoriteMusic; +import lombok.Getter; +import lombok.Setter; +import lombok.ToString; + +@Getter +@Setter +@ToString + +public class FavoriteMusicRequestDto { + private String collectionId; + private String collectionType; + private String artistId; + private String artistName; + private String artistViewUrl; + private String collectionName; + private String collectionViewUrl; + + public FavoriteMusic toEntity() { + FavoriteMusic music = new FavoriteMusic(); + music.setCollectionId(this.collectionId); + music.setCollectionType(this.collectionType); + music.setArtistId(this.artistId); + music.setArtistName(this.artistName); + music.setArtistViewUrl(this.artistViewUrl); + music.setCollectionName(this.collectionName); + music.setCollectionViewUrl(this.collectionViewUrl); + + return music; + } + +} diff --git a/src/main/java/kr/ajousw/myspringweb/entity/FavoriteMusic.java b/src/main/java/kr/ajousw/myspringweb/entity/FavoriteMusic.java index ea99a88..3d23994 100644 --- a/src/main/java/kr/ajousw/myspringweb/entity/FavoriteMusic.java +++ b/src/main/java/kr/ajousw/myspringweb/entity/FavoriteMusic.java @@ -9,19 +9,27 @@ import lombok.Setter; import lombok.ToString; @Entity -@Table(name="favoriteMusic") +@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; + @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/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class b/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class index 5d95d9ca108c211410e86759565c45809ab1952b..e3d46829fac59f27c95f09dfe65d1fa5635e88dd 100644 GIT binary patch delta 655 zcmew$c2h>+)W2Q(7#J9A8S2;>m>3xhCNE?Zn;gX`wb3D&osY91zqrIFGds1Ik-<!3 z@&ZO_S+~Tp{G!Z~RNvC#%;ccd!qU{@5|@&EYfVo^2Ghw2tdf)K*#t}j@{3D+6AKD5 z^U|#u8I*mp60;MFN)q);iW2jR6O&6a^YipW5bVSpYlLob0jK<wN^35L9ELo0hFnGl z!^sO7rL=Ka%)^k+P{7E*QIhYPSCUy$$;hCmF?l|t#N;n*qN3akaSTN~48;s3j0`Nr ziDjvb3~Cya9hucx$`~26z+U~rCc?+az>x;^79)c($eYSIY_n!$V9f>joRL9i@&ZP2 zkS&uJvez-PPFCR1Vw9Zh&9PEbmVtvofq|PrkwK6_fkA>ni9wM;nL&?1g~5_RmBEHV zjlq^doxz<!V{#x@`Q#~_Q#AD%I2eo=xEYKY1R0DNBp6H>6d6nz^cc(-EE&uhY#1yU zY#A&W+!?GU2XbBEb!FgUaAV+RaAy!@@R)4Gty#~=kj9YCz{0@Jz`!8Hz{HTjz{nsP z&A?d95XF$mz`!8Rz`(%H$iT>u#lXP8&A`A=$iT$F%)r1PskMb6T6-Hq_D+UECWZqH zrM^1H7+6`>Ft1@?U|?q81DnUfz`)?oAjlBFAj%NPAkGlNz|X+Ipa3y|L4ZNfl>r1K z8Oj+d7#JA@88{d!8LAkV7y=m>7&sUh|1gNNGn6s}F)%Q&GBT7iFfcGNRD;PHu#4Fk J7#V6A7yvTTiqrrA delta 185 zcmca9^Fd7D)W2Q(7#J9A88X=!m>3xhCNE?Zn;gX`wb3D&eezw-8b+4MQCwP#qLW*> zR%%Kza4^U)a5Km<2r|epNHEATC^E=1=rJfTSTZOw*f1zD*fJ<HxHG6s?&c|<e2#mH zrZxiygB}AngFb^GgC2tfg8_pggCT<+gAs!zgE4~*g9(EzgDHbMgW2S6o-4eL3|tIO m4BQOP45AD!lXG}AMVT1V7#J9s7}6Qo85kJY7#JBc7#IMfX&(^) diff --git a/target/classes/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.class b/target/classes/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.class new file mode 100644 index 0000000000000000000000000000000000000000..2ede3d4e8f67c7df709f4599f8c12b6ea7411685 GIT binary patch literal 2868 zcmX^0Z`VEs1_oP(Qg#L=Mh3&|BK^dy{L<ob{oKmpf}+g4^zzgs{gje?eYeE2{G!Z~ zRNvC#%;ccd!qU{@5|@&Eb_Nzk27#=^vPAuy#JqHU|D>$c<Pt^(p5*+ToYdr!%=|ph z6h;OiAB2+N5|Fvpj0}7TH6fJ+sf-L9iA5!u#U&sOTo9&TVs0uU122RVmYG@}T9kvL z5u!j4VG>*sn@wh3W{Djm1G9!^7$XCVbAC!H7XvecAP)mC10N#;zfWdfs$XetQfg61 zVp2{j$dUQUi8*13MVTNzRFI`4BeR&1!Ptl7ps{9T;3&y=%`3?)sbpl()6m3WL@HPX zY5-faGe|NrXkoV#n+7fh2?jw<21W)M9tKthHV{{ihe4h}fsui~IJLwXB{oDgFrz~= z45V9$hk+fUTZM-~6{K4bMK>s(K<d<a7&sv6G<g`bK<c=QQ%fA7(FanY!^6M{QK84f zpbt{P3s(V(G>{rY9tJLm8e<*?6ObAKxEg3Yf|Qx@FmOYZS@1Aef|Q{;3TB)&4+9TG zoh=W89Y~!BisPY1GBU8{f)X(!gAOS%!pOj%jvkOA8k(3P$;cpxq7W2jj11iAi11-# z;Dz%*j%Q>Lfb-#wL^TAWOa#SXxKaV%)RK(+lz_yd#N5=9)S_Z=%7f%Hb_O3t266P< z=Tw@RlagA*!QjWppo$}FYalX}XNoNsgEvC}DC;P2F)%U&@h~_tIDy1Mco;$%!WbFY z5(^4a^HLZYbg?Baj8K9)z?y?0f{{T`M*(3MD7b7vc0}<oI5RkLFvKu2aO)^QiU6=f z7#ZSt7+gS735*Q9Fey+7f%PTvFt~ywQy3WpV3N?F0?ViIFt~x_GtexC8<54r;0{ud z!^j|l>@s9S@^~0LKxzsY85lJ|;ZVfG;Kks?$iNkxUs{x$>Xr#AQDkrgtsW>o7!(;8 z8JHOu7}yz@KzWvdfq@B>`@l2@0~?s;gwkA4nj1><fN4PnMo?kKz{tSQz`&r-z{tSJ zz`($&wVgp=BUrl-0|NsaSdfQ7n1O+T2h3(=5MdByU|?Wm5MvOBYM#cx#K6SBz~Ho- zK_YTHgOrc9))ofoZ49y?T5%hLGKf~&#-IVBwYM?of@p(n3`QW@bQ^;?h_>3sV57YO zZnGK#Cj$e67y}1`ID-I#1cL;FB!dEj6oUqXG=l+y41)!OEQ14sJlJJo5Zj?H<6y92 zuxD@pd&rT&3F=0K2e&XtBdmdVkOOQCx(A)HYE~ppvkO+uYQ$-F#i|)8bnrRb4Xb7Y z;%s)us@aq{%^p}aTM?&Oo<V_u37i(Kpvj3%OM5GWG<ss>1jiL5%Gsb%4oax3;Kb?) zO2do{tPBDSjG#&gn~{pd8p)1qBs<thE$psTBi2Yz-ehEex{?EIq&{{dwTU$nl+EEr za)OOC!EU4hu||SQ47ib8U?VND8)-_ck)Xl{ZX`F@NIUFCS`lj`s2qbE$pbdh3!VbI z8JNN4RpM?2??@rv?F{}}+ZY13F$4>RZ(|77+QtwGVn;*Ru^@Ilgq;XtCqvk&Aa**0 noe5%RL)f_>cK$Yo;B5?r=&73voIW9CNg_0TGBOl{3$_vf>OJ>< literal 0 HcmV?d00001 -- GitLab