diff --git a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java index 58e63ea3f76d641c9cfe155cefe126751152a2c0..4b16ce47269c7218786f25783a589d52aa5247a4 100644 --- a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java +++ b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java @@ -6,10 +6,14 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.client.RestTemplate; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.transaction.annotation.Transactional; import com.fasterxml.jackson.databind.ObjectMapper; import java.io.IOException; import java.util.List; +import kr.ajousw.myspringweb.dto.FavoriteMusicRequestDto; import kr.ajousw.myspringweb.dto.Musiclist; import kr.ajousw.myspringweb.entity.FavoriteMusic; import kr.ajousw.myspringweb.repository.FavoriteRepository; @@ -42,7 +46,6 @@ public class MyWebController { public Musiclist musicSearchByParam(@RequestParam String term) { RestTemplate restTemplate = new RestTemplate(); String url = "https://itunes.apple.com/search?term=" + term + "&entity=musicVideo"; - // String url = "https://itunes.apple.com/search?term=aespa&entity=album"; try { String response = restTemplate.getForObject(url, String.class); ObjectMapper mapper = new ObjectMapper(); @@ -60,16 +63,23 @@ public class MyWebController { public List<FavoriteMusic> getLikes() { try { - return albumsRepo.findAll(); - } catch (Exception e) { - System.out.println(e.toString()); - 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/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java b/src/main/java/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java new file mode 100644 index 0000000000000000000000000000000000000000..451a51a8b979daf0c037759cbbc89fc463aa85f2 --- /dev/null +++ b/src/main/java/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java @@ -0,0 +1,35 @@ +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 collectionViewUrl; + private String collectionType; + private String artistId; + private String artistName; + private String artistViewUrl; + private String collectionName; + + public FavoriteMusic toEntity() { + + FavoriteMusic music = new FavoriteMusic(); + music.setArtistId(this.artistId); + music.setArtistName(this.artistName); + music.setArtistViewUrl(this.artistViewUrl); + music.setCollectionName(this.collectionName); + music.setCollectionViewUrl(this.collectionViewUrl); + music.setCollectionType(this.collectionType); + music.setCollectionId(this.collectionId); + return music; + + } + +} \ No newline at end of file