Select Git revision
Forked from
신선 / 1801_OS_assignment4
Source project has a limited visibility.
-
HyukSang Kwon authoredHyukSang Kwon authored
MusicService.java 1.84 KiB
package kr.ajou.prcoding.mySpringWeb.service;
import java.io.IOException;
import java.util.List;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.transaction.Transactional;
import kr.ajou.prcoding.mySpringWeb.dto.FavoriteMusicRequestDto;
import kr.ajou.prcoding.mySpringWeb.dto.MusicList;
import kr.ajou.prcoding.mySpringWeb.entity.FavoriteMusic;
import kr.ajou.prcoding.mySpringWeb.repository.FavoriteRepository;
import lombok.RequiredArgsConstructor;
@Service
@Transactional
@RequiredArgsConstructor
public class MusicService {
private final FavoriteRepository albumsRepo;
RestTemplate restTemplate = new RestTemplate();
private final String itunesUrl = "http://itunes.apple.com"; // ?term=${searchWord}&entity=album
public MusicList serachMusic(String musicName){
try {
String url = itunesUrl + String.format("/search?term=%s&entity=album", musicName);
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;
}
}
public List<FavoriteMusic> getLikes(){
try{
return albumsRepo.findAll();
} catch (Exception e){
System.out.println(e.toString());
return null;
}
}
public int saveFavorite(FavoriteMusicRequestDto favorite){
FavoriteMusic music = albumsRepo.save(favorite.toEntity());
if (music != null) {
return 1;
} else {
return 0;
}
}
}