package kr.ajou.prcoding.mySpringWeb.controller; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.CrossOrigin; 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; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; 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.service.MusicService; @RestController @CrossOrigin(origins = "http://localhost:3000") // npm start로 테스트하기 위해 넣음. public class MyWebController { @Autowired MusicService service; @GetMapping(value = "/musicSearch/{name}") public MusicList musicSearchByPath(@PathVariable String name) { // String이 리턴 타입 이었음. return service.serachMusic(name); } @GetMapping(value = "/musicSearch") public MusicList musicSearchByParam(@RequestParam(value = "term") String name) { return service.serachMusic(name); } // Get Favorite Music list from Database @GetMapping(value = "/likes") public List<FavoriteMusic> getLikes() { return service.getLikes(); } @PostMapping(value = "/likes") public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) { return service.saveFavorite(favorite); } @DeleteMapping(value = "/likes/{id}") public void deleteLike(@PathVariable String id){ service.deleteFavorite(id); } }