Skip to content
Snippets Groups Projects
Commit c2c201a0 authored by 양서진's avatar 양서진
Browse files

Curl localhost/musicSearch?term=DefLeopard

ss
code ith service
parent 17f8ed59
No related branches found
No related tags found
No related merge requests found
Pipeline #8369 failed
...@@ -19,6 +19,7 @@ import kr.ajousw.myspringweb.dto.MusicList; ...@@ -19,6 +19,7 @@ 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.dto.FavoriteMusicRequestDto; import kr.ajousw.myspringweb.dto.FavoriteMusicRequestDto;
import kr.ajousw.myspringweb.service.MusicService;
@RestController @RestController
...@@ -26,71 +27,98 @@ import kr.ajousw.myspringweb.dto.FavoriteMusicRequestDto; ...@@ -26,71 +27,98 @@ import kr.ajousw.myspringweb.dto.FavoriteMusicRequestDto;
public class MyWebController { public class MyWebController {
@Autowired @Autowired
FavoriteRepository albumsRepo; MusicService service;
RestTemplate restTemplate = new RestTemplate();
@GetMapping(value="/musicSearch/{term}")
public MusicList musicSearchByPath(@PathVariable String term) {
try {
String response = restTemplate.getForObject("https://itunes.apple.com/search?term=term&entity=album", 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") @GetMapping(value = "/musicSearch/{name}")
public MusicList musicSearchByParam(@RequestParam String term) { public MusicList musicSearchByPath(@PathVariable String name){
try { return service.searchMusic(name);
String response = restTemplate.getForObject("https://itunes.apple.com/search?term=term&entity=album", 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(value="term") String name) {
return service.searchMusic(name);
} }
// // Get Favorite Music list from Database @GetMapping(value="/likes") //Get Favorite Music list from Database
@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
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;
}
} }
// RestTemplate restTemplate = new RestTemplate();
// @GetMapping(value="/musicSearch/{term}")
// public MusicList musicSearchByPath(@PathVariable String term) {
// try {
// String response = restTemplate.getForObject("https://itunes.apple.com/search?term=term&entity=album", 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 response = restTemplate.getForObject("https://itunes.apple.com/search?term=term&entity=album", 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;
// }
// }
// @PostMapping(value="/likes")
// @Transactional
// public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) {
// FavoriteMusic music = albumsRepo.save(favorite.toEntity());
// if(music != null) {
// return 1;
// }
// else {
// return 0;
// }
// }
} }
......
package kr.ajousw.myspringweb.service;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;
import com.fasterxml.jackson.databind.ObjectMapper;
import jakarta.transaction.Transactional;
import kr.ajousw.myspringweb.dto.FavoriteMusicRequestDto;
import kr.ajousw.myspringweb.dto.MusicList;
import kr.ajousw.myspringweb.entity.FavoriteMusic;
import kr.ajousw.myspringweb.repository.FavoriteRepository;
import lombok.RequiredArgsConstructor;
import java.io.IOException;
import java.util.*;
@Service
@Transactional
@RequiredArgsConstructor
public class MusicService {
private final FavoriteRepository albumsRepo;
RestTemplate restTemplate = new RestTemplate();
public MusicList searchMusic(String name) {
try {
String response = restTemplate.getForObject("https://itunes.apple.com/search?term="+name+"&entity=album", 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;
}
}
// GetMapping(value="/musicSearch/{term}")
// public MusicList musicSearchByPath(@PathVariable String term) {
// try {
// String response = restTemplate.getForObject("https://itunes.apple.com/search?term=term&entity=album", 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 response = restTemplate.getForObject("https://itunes.apple.com/search?term=term&entity=album", 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;
// }
// }
// @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 preview for this file type
File added
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment