Skip to content
Snippets Groups Projects
Select Git revision
  • 876413117ebba8efa77de9d6dd1034f232a86484
  • development default protected
  • temp
  • master protected
  • #36
  • #24
  • #39
  • #38
  • #37
  • #35
  • #34
  • #33
  • #32
  • #31
  • #21
  • #22
  • #20
  • #23
  • #19
  • #17
  • #16
21 results

index.js

Blame
  • MusicService.java 1.87 KiB
    package com.ajou.procoding.myweb.service;
    
    import java.io.IOException;
    import java.util.List;
    
    import org.springframework.stereotype.Service;
    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;
    import lombok.RequiredArgsConstructor;
    
    @Service
    @Transactional
    @RequiredArgsConstructor
    public class MusicService {
        
        private final FavoriteRepository albumsRepo;
        private final RestTemplate restTemplate = new RestTemplate();
    
        public MusicList searchMusic(String name) {
            try {
                String url = String.format("https://itunes.apple.com/search?term=%s&entity=album", name);
                String response = restTemplate.getForObject(url, String.class);
                ObjectMapper mapper = new ObjectMapper();
                MusicList list = mapper.readValue(response, MusicList.class);
                System.out.println("ResultCount: " + list.getResultCount());
                return list;
            } catch (IOException e) {
                System.out.println(e.toString());
                return null;
            }
        }
    
        public List<FavoriteMusic> getLikes() {
            return albumsRepo.findAll();
        }
    
        public int saveFavorite(FavoriteMusicRequestDto favorite) {
            FavoriteMusic music = albumsRepo.save(favorite.toEntity());
            return (music != null) ? 1 : 0;
        }
    
        public int deleteFavorite(String id) {
            try {
                if (albumsRepo.existsById(id)) {
                    albumsRepo.deleteById(id);
                    return 1;
                } else {
                    return 0;
                }
            } catch (Exception e) {
                return 0;
            }
        
    }
    
    }