Select Git revision
MyWebController.java
MyWebController.java 1.90 KiB
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);
}
}