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 fde7261ccd38ee1cf4c4c4e73491a3b05b68fee0..19a0ea05110be6672db0f64194d54a0d3f3b7065 100644 --- a/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java +++ b/src/main/java/com/ajou/procoding/myweb/controller/MyWebController.java @@ -3,6 +3,7 @@ import java.io.IOException; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; @@ -50,62 +51,10 @@ public class MyWebController { return service.saveFavorite(favorite); } - /*@GetMapping(value="/musicSearch/{term}") - public MusicList musicSearchByPath(@PathVariable String term) { - try { - String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", term); - String response = restTemplate.getForObject(url, String.class); - ObjectMapper mapper = new ObjectMapper(); - MusicList list = mapper.readValue(response, MusicList.class); - System.out.println(list.getResultCount()); - return list; - } catch(IOException e) { - System.out.println(e.toString()); - } - return null; - } - - @GetMapping(value="/musicSearch") - public MusicList musicSearchByParam(@RequestParam String term){ - try { - String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", term); - String response = restTemplate.getForObject(url, String.class); - ObjectMapper mapper = new ObjectMapper(); - MusicList list = mapper.readValue(response, MusicList.class); - System.out.println(list.getResultCount()); - return list; - } catch(IOException e) { - System.out.println(e.toString()); - } - return null; - } - //몇 줄 아닌거 같아 보이는데 많은 일을 함 - - //Get Favorite Music list from Database - @GetMapping(value="/likes") - public List<FavoriteMusic> getLikes() { - - try { - return albumsRepo.findAll(); - } catch (Exception e) { - System.out.println(e.toString()); - - } - return null; + @DeleteMapping(value="/likes/{id}") + public int deleteFavoriteById(@PathVariable String id) { + return service.deleteFavorite(id); } - @PostMapping(value="/likes") - @Transactional - public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) { - FavoriteMusic music = albumsRepo.save(favorite.toEntity()); - if(music != null) { - return 1; - } - else { - return 0; - } - }*/ - - } \ No newline at end of file diff --git a/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java b/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java index 447835f35951f2543877e4d70a402d29d7659367..a43ed749f38b34b5c89729fb6110c462546c2260 100644 --- a/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java +++ b/src/main/java/com/ajou/procoding/myweb/repository/FavoriteRepository.java @@ -6,4 +6,4 @@ import com.ajou.procoding.myweb.entity.FavoriteMusic; public interface FavoriteRepository extends JpaRepository<FavoriteMusic, String> { List<FavoriteMusic> findAll(); -} +} \ No newline at end of file diff --git a/src/main/java/com/ajou/procoding/myweb/service/MusicService.java b/src/main/java/com/ajou/procoding/myweb/service/MusicService.java index b64791ae7b801fa027a089be74c3e6d3c5c2d6ef..4f333d93c29b70077f1a6f922ad003b89c30000c 100644 --- a/src/main/java/com/ajou/procoding/myweb/service/MusicService.java +++ b/src/main/java/com/ajou/procoding/myweb/service/MusicService.java @@ -52,4 +52,15 @@ public class MusicService { FavoriteMusic music = albumsRepo.save(favorite.toEntity()); return (music != null) ? 1 : 0; } + + // 존재하는지 확인 (없으면 예외 혹은 0 return 등) + public int deleteFavorite(String id) { + if (albumsRepo.existsById(id)) { + albumsRepo.deleteById(id); + return 1; + } else { + return 0; + } +} + } \ No newline at end of file