diff --git a/postSong.json b/postSong.json
new file mode 100644
index 0000000000000000000000000000000000000000..ddb0c7efb7bca05f5cdcb8b0000059a226fd2add
--- /dev/null
+++ b/postSong.json
@@ -0,0 +1,22 @@
+{
+	"wrapperType":"collection",
+	"collectionType":"Album",
+	"artistId":994656,
+	"collectionId":580708175,
+	"amgArtistId":4739,
+	"artistName":"Led Zeppelin",
+	"collectionName":"Led Zeppelin IV (Remastered)",
+	"collectionCensoredName":"Led Zeppelin IV (Remastered)",
+	"artistViewUrl":"https://music.apple.com/us/artist/led-zeppelin/994656?uo=4",
+	"collectionViewUrl":"https://music.apple.com/us/album/led-zeppelin-iv-remastered/580708175?uo=4",
+	"artworkUrl60":"https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/5c/15/9b/5c159b27-95ca-b9a7-84e3-28e795fffd39/dj.kvkrpptq.jpg/60x60bb.jpg",
+	"artworkUrl100":"https://is1-ssl.mzstatic.com/image/thumb/Music115/v4/5c/15/9b/5c159b27-95ca-b9a7-84e3-28e795fffd39/dj.kvkrpptq.jpg/100x100bb.jpg",
+	"collectionPrice":9.99,
+	"collectionExplicitness":"notExplicit",
+	"trackCount":8,
+	"copyright":"℗ 1971 Atlantic Recording Corporation, a Warner Music Group Company. Marketed by Rhino Entertainment Company, a Warner Music Group Company.",
+	"country":"USA",
+	"currency":"USD",
+	"releaseDate":"1971-11-08T08:00:00Z",
+	"primaryGenreName":"Rock"
+}
diff --git a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java
index a05f7c459e62d4f30fbba8e9777cab12731e10fa..29e7784f98c30630713ecb3608c1bc463cce37b5 100644
--- a/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java
+++ b/src/main/java/kr/ajousw/myspringweb/controller/MyWebController.java
@@ -4,8 +4,11 @@ import java.io.IOException;
 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.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.client.RestTemplate;
@@ -13,53 +16,81 @@ import org.springframework.web.client.RestTemplate;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 import jakarta.servlet.http.HttpServletRequest;
+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 kr.ajousw.myspringweb.service.MusicService;
 
 @RestController
 public class MyWebController{
     private final RestTemplate restTemplate = new RestTemplate();
     private final String BASE_URL = "<https://itunes.apple.com/search?entity=song&attribute=songTerm&term=>";
 
-    @GetMapping(value = "/musicSearch/{term}")
-    public MusicList musicSearchBypath(@PathVariable String term){
-        try{
-            String response = restTemplate.getForObject(BASE_URL + term, 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;
-        }
+    @Autowired
+    MusicService service;
+
+    @GetMapping(value = "/musicSearch/{name}")
+    public MusicList musicSearchBypath(@PathVariable String name){
+        return service.searchMusic(name);
+        // try{
+        //     String response = restTemplate.getForObject(BASE_URL + term, 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("term") String term){
-        try{
-            String response = restTemplate.getForObject(BASE_URL + term, 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 MusicList musicSearchByParam(@RequestParam("term") String name){
+        return service.searchMusic(name);
+        // try{
+        //     String response = restTemplate.getForObject(BASE_URL + term, 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;
+        // }
     }
 
-    @Autowired
-    FavoriteRepository albumsRepo;
+    // @Autowired
+    // FavoriteRepository albumsRepo;
     @GetMapping(value = "/likes")
     public List<FavoriteMusic> getLikes(){
-        try{
-            return albumsRepo.findAll();
-        } catch(Exception e){
-            System.out.println(e.toString());
-            return null;
-        }
+        return service.getLikes();
+        // try{
+        //     return albumsRepo.findAll();
+        // } catch(Exception e){
+        //     System.out.println(e.toString());
+        //     return null;
+        // }
+    }
+    // @Autowired
+    // FavoriteRepository albumsRepo;
+    @PostMapping(value = "/likes")
+    // @Transactional
+    public int postLikes(@RequestBody FavoriteMusicRequestDto favorite){
+        return service.saveFavorite(favorite);
+        // FavoriteMusic music = albumsRepo.save(favorite.toEntity());
+        // if(music != null){
+        //     return 1;
+        // } 
+        // else{
+        //     return 0;
+        // }
+    }
+    @DeleteMapping(value = "/likes/{id}")
+    public void deleteFavorite(@PathVariable String id) {
+        service.deleteFavorite(id);
+
     }
 
 }
\ No newline at end of file
diff --git a/src/main/java/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java b/src/main/java/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..e251cee01c23cc91708676bf43905daf05129f2a
--- /dev/null
+++ b/src/main/java/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.java
@@ -0,0 +1,30 @@
+package kr.ajousw.myspringweb.dto;
+
+import jakarta.persistence.Column;
+import kr.ajousw.myspringweb.entity.FavoriteMusic;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+public class FavoriteMusicRequestDto {
+    private String collectionId;
+    private String artistId;
+    private String artistName;
+    private String artistViewUrl;
+    private String collectionName;
+    private String collectionViewUrl;
+    public FavoriteMusic toEntity(){
+        FavoriteMusic music = new FavoriteMusic();
+        music.setCollectionId(this.collectionId);
+        music.setArtistId(this.artistId);
+        music.setArtistName(this.artistName);
+        music.setArtistViewUrl(this.artistViewUrl);
+        music.setCollectionName(this.collectionName);
+        music.setCollectionViewUrl(this.collectionViewUrl);
+        return music;
+    }
+
+}
diff --git a/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
index b25b2ab074cfc517a02b4ac892265566ac07ed54..2ab94f8579be8cfb16376516cc6331b80bf11a2d 100644
--- a/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
+++ b/src/main/java/kr/ajousw/myspringweb/repository/FavoriteRepository.java
@@ -1,5 +1,6 @@
 package kr.ajousw.myspringweb.repository;
 
+import java.util.Iterator;
 import java.util.List;
 
 import org.springframework.data.jpa.repository.JpaRepository;
@@ -8,5 +9,7 @@ import kr.ajousw.myspringweb.entity.FavoriteMusic;
 
 public interface FavoriteRepository extends JpaRepository<FavoriteMusic, String>{
     List<FavoriteMusic> findAll();
+
+    void deleteById(String id);
     
 }
diff --git a/src/main/java/kr/ajousw/myspringweb/service/MusicService.java b/src/main/java/kr/ajousw/myspringweb/service/MusicService.java
new file mode 100644
index 0000000000000000000000000000000000000000..0d6ac411aca03c0e00568df9fbdb61508b89b810
--- /dev/null
+++ b/src/main/java/kr/ajousw/myspringweb/service/MusicService.java
@@ -0,0 +1,62 @@
+package kr.ajousw.myspringweb.service;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.springframework.stereotype.Service;
+import org.springframework.web.client.RestTemplate;
+
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import jakarta.servlet.http.HttpServletRequest;
+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;
+
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class MusicService {
+    private final FavoriteRepository albumsRepo;
+    RestTemplate restTemplate = new RestTemplate();
+    HttpServletRequest request;
+    public MusicList searchMusic(String name) {
+
+        MusicList musicList = null;
+        try {
+            String jsonString = restTemplate.getForObject(request.getRequestURI(), String.class);
+            ObjectMapper objectMapper = new ObjectMapper();
+            musicList = objectMapper.readValue(jsonString, MusicList.class);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+
+        return musicList;
+    }
+
+    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;
+        }
+    }
+
+    public void deleteFavorite(String id){
+        albumsRepo.deleteById(id);
+    }
+}
diff --git a/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class b/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class
index f701fc68275b6eafdaedfcc4a848ff9ed28e20bb..53f84323cb344fa26ed349a62edf81fad185a3f4 100644
Binary files a/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class and b/target/classes/kr/ajousw/myspringweb/controller/MyWebController.class differ
diff --git a/target/classes/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.class b/target/classes/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.class
new file mode 100644
index 0000000000000000000000000000000000000000..1e3a413feb6e9a8f713401ae07b80d63edd9a36b
Binary files /dev/null and b/target/classes/kr/ajousw/myspringweb/dto/FavoriteMusicRequestDto.class differ
diff --git a/target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class b/target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class
index 4a1f88d371634494cc49158cf175b63f6d9994e2..1d2b7d568dc3f3bd42637dc87c15108297b5b75d 100644
Binary files a/target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class and b/target/classes/kr/ajousw/myspringweb/repository/FavoriteRepository.class differ
diff --git a/target/classes/kr/ajousw/myspringweb/service/MusicService.class b/target/classes/kr/ajousw/myspringweb/service/MusicService.class
new file mode 100644
index 0000000000000000000000000000000000000000..8d7cca1b85391f6419bec63f0d2ab3ce7e2e280f
Binary files /dev/null and b/target/classes/kr/ajousw/myspringweb/service/MusicService.class differ