From 5bfd16087f6018e9c29b0517c3f14a203b338b35 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=EA=B9=80=EC=A4=80=ED=95=98?=
 <junha@gimjunhaui-MacBookAir.local>
Date: Wed, 20 Jul 2022 15:50:10 +0900
Subject: [PATCH] post_likes

---
 .../myweb/Controller/MyWebController.java     | 19 ++++++++---
 .../myweb/dto/FavoriteMusicRequestDto.java    | 33 +++++++++++++++++++
 src/main/resources/application.properties     |  2 +-
 3 files changed, 49 insertions(+), 5 deletions(-)
 create mode 100644 src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java

diff --git a/src/main/java/com/ajou/prcoding/myweb/Controller/MyWebController.java b/src/main/java/com/ajou/prcoding/myweb/Controller/MyWebController.java
index c16aa05..3387bfd 100644
--- a/src/main/java/com/ajou/prcoding/myweb/Controller/MyWebController.java
+++ b/src/main/java/com/ajou/prcoding/myweb/Controller/MyWebController.java
@@ -1,16 +1,15 @@
 package com.ajou.prcoding.myweb.Controller;
 
+import com.ajou.prcoding.myweb.dto.FavoriteMusicRequestDto;
 import com.ajou.prcoding.myweb.dto.MusicList;
 import com.ajou.prcoding.myweb.entity.FavoriteMusic;
 import com.ajou.prcoding.myweb.repository.FavoriteRepository;
 import com.fasterxml.jackson.databind.ObjectMapper;
 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.bind.annotation.*;
 import org.springframework.web.client.RestTemplate;
 
+import javax.transaction.Transactional;
 import java.io.IOException;
 import java.util.List;
 
@@ -63,4 +62,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/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java b/src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java
new file mode 100644
index 0000000..8c87c9b
--- /dev/null
+++ b/src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java
@@ -0,0 +1,33 @@
+package com.ajou.prcoding.myweb.dto;
+
+import com.ajou.prcoding.myweb.entity.FavoriteMusic;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+import javax.persistence.Column;
+
+@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/resources/application.properties b/src/main/resources/application.properties
index 07d0412..af9e6b4 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -8,5 +8,5 @@ spring.datasource.password=junha0612
 spring.jpa.properties.hibernate.show_sql=true
 spring.jpa.properties.hibernate.format_sql=true
 logging.level.org.hibernate.type.descriptor.sql=trace
-spring.jpa.hibernate.ddl-auto=create
+spring.jpa.hibernate.ddl-auto=update
 spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect
\ No newline at end of file
-- 
GitLab