From 7004bc2cf958ea2cf61887192f2d51e40170bf3e Mon Sep 17 00:00:00 2001 From: Kim Daeun <iop2799@ajou.ac.kr> Date: Wed, 9 Apr 2025 17:20:15 +0900 Subject: [PATCH] post_likes --- .../myweb/controller/MyWebController.java | 18 +++++++++++ .../myweb/dto/FavoriteMusicRequestDto.java | 32 +++++++++++++++++++ 2 files changed, 50 insertions(+) create mode 100644 src/main/java/com/ajou/procoding/myweb/dto/FavoriteMusicRequestDto.java diff --git a/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java b/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java index af5e39c..a201231 100644 --- a/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java +++ b/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java @@ -5,21 +5,27 @@ 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.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.ajou.procoding.myweb.dto.FavoriteMusicRequestDto; import com.ajou.procoding.myweb.dto.MusicList; import com.ajou.procoding.myweb.entity.FavoriteMusic; import com.ajou.procoding.myweb.repository.FavoriteRepository; import com.fasterxml.jackson.databind.ObjectMapper; +import jakarta.transaction.Transactional; + @RestController public class MyWebController { RestTemplate restTemplate = new RestTemplate(); @Autowired FavoriteRepository albumsRepo; + @GetMapping(value="/musicSearch/{term}") public MusicList musicSearchByPath(@PathVariable String term) { @@ -66,6 +72,18 @@ public class MyWebController { return null; } + @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/procoding/myweb/dto/FavoriteMusicRequestDto.java b/src/main/java/com/ajou/procoding/myweb/dto/FavoriteMusicRequestDto.java new file mode 100644 index 0000000..3bbecdc --- /dev/null +++ b/src/main/java/com/ajou/procoding/myweb/dto/FavoriteMusicRequestDto.java @@ -0,0 +1,32 @@ +package com.ajou.procoding.myweb.dto; + +import com.ajou.procoding.myweb.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; + } +} -- GitLab