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