Select Git revision
MyspringwebController.java
MyspringwebController.java 1.78 KiB
package kr.ajousw.myspringweb.controller;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
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.service.MusicService;
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.RequestParam;
@RestController
public class MyspringwebController {
@Autowired
MusicService service;
@RequestMapping("/")
public String index() {
return "Greetings from Spring Boot!";
}
@GetMapping(value="/musicSearch/{name}")
public MusicList musicSearchByPath(@PathVariable String name){
return service.searchMusic(name);
}
@GetMapping(value="/musicSearch")
public MusicList musicSearchByParam(@RequestParam(value="term") String name){
return service.searchMusic(name);
}
@GetMapping(value="/likes")
public List<FavoriteMusic> getLikes(){
return service.getLikes();
}
@PostMapping(value="/likes")
@Transactional
public int postLikes(@RequestBody FavoriteMusicRequestDto favorite){
return service.saveFavorite(favorite);
}
@DeleteMapping(value = "/likes/{id}")
public void deleteLikes(@PathVariable String id) {
service.deleteFavorite(id);
}
}