Skip to content
Snippets Groups Projects
Commit 2b39641c authored by 김재현's avatar 김재현
Browse files

code refactoring with service

parent d770e12f
Branches
No related tags found
No related merge requests found
Pipeline #8357 canceled
...@@ -17,69 +17,35 @@ import kr.ajousw.myspringweb.dto.FavoriteMusicRequestDto; ...@@ -17,69 +17,35 @@ import kr.ajousw.myspringweb.dto.FavoriteMusicRequestDto;
import kr.ajousw.myspringweb.dto.Musiclist; import kr.ajousw.myspringweb.dto.Musiclist;
import kr.ajousw.myspringweb.entity.FavoriteMusic; import kr.ajousw.myspringweb.entity.FavoriteMusic;
import kr.ajousw.myspringweb.repository.FavoriteRepository; import kr.ajousw.myspringweb.repository.FavoriteRepository;
import kr.ajousw.myspringweb.service.MusicService;
@RestController @RestController
public class MyWebController { public class MyWebController {
@Autowired @Autowired
FavoriteRepository albumsRepo; MusicService service;
@GetMapping(value = "/musicSearch/{term}") @GetMapping(value = "/musicSearch/{name}")
public Musiclist musicSearchByPath(@PathVariable String term) { public Musiclist musicSearchByPath(@PathVariable String name) {
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();
Musiclist list = mapper.readValue(response, Musiclist.class);
System.out.println(list.getResultCount());
return list; return service.searchMusic(name);
} catch (IOException e) {
System.out.println(e.toString());
}
return null;
} }
@GetMapping(value = "/musicSearch") @GetMapping(value = "/musicSearch")
public Musiclist musicSearchByParam(@RequestParam String term) { public Musiclist musicSearchByParam(@RequestParam String name) {
RestTemplate restTemplate = new RestTemplate(); return service.searchMusic(name);
String url = "https://itunes.apple.com/search?term=" + term + "&entity=musicVideo";
try {
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 = "/likes") @GetMapping(value = "/likes")
public List<FavoriteMusic> getLikes() { public List<FavoriteMusic> getLikes() {
return service.getLikes();
try {
return albumsRepo.findAll();
} catch (Exception e) {
System.out.println(e.toString());
return null;
}
} }
@PostMapping(value = "/likes") @PostMapping(value = "/likes")
@Transactional @Transactional
public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) { public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) {
FavoriteMusic music = albumsRepo.save(favorite.toEntity()); return service.saveFavorite(favorite);
if (music != null) {
return 1;
} else {
return 0;
}
} }
} }
package kr.ajousw.myspringweb.service;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import lombok.RequiredArgsConstructor;
import org.springframework.web.client.RestTemplate;
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;
@Service
@Transactional
@RequiredArgsConstructor
public class MusicService {
private final FavoriteRepository albumsRepo;
RestTemplate restTemplate = new RestTemplate();
public Musiclist searchMusic(String name) {
String url = "https://itunes.apple.com/search?term=" + name +
"&entity=musicVideo";
try {
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;
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment