diff --git a/src/main/java/kr/ajou/prcoding/mySpringWeb/controller/MyWebController.java b/src/main/java/kr/ajou/prcoding/mySpringWeb/controller/MyWebController.java
index 60035a0d9111591919350158089db0c1193e2ef2..e1f6ca91d8e534ab841058fa108fc8ae17337e13 100644
--- a/src/main/java/kr/ajou/prcoding/mySpringWeb/controller/MyWebController.java
+++ b/src/main/java/kr/ajou/prcoding/mySpringWeb/controller/MyWebController.java
@@ -6,63 +6,44 @@ import java.util.List;
 import org.springframework.beans.factory.annotation.Autowired;
 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;
 import com.fasterxml.jackson.databind.ObjectMapper;
+
+import jakarta.transaction.Transactional;
+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.repository.FavoriteRepository;
+import kr.ajou.prcoding.mySpringWeb.service.MusicService;
 
 @RestController
 public class MyWebController {
-    RestTemplate restTemplate = new RestTemplate();
-    private String url = "http://itunes.apple.com"; // ?term=${searchWord}&entity=album
+
     @Autowired
-    FavoriteRepository albumsRepo;
+    MusicService service;
 
-    @GetMapping(value = "/musicSearch/{term}")
-    public MusicList musicSearchByPath(@PathVariable String term) { // String이 리턴 타입 이었음.
-        try {
-            url = url   + String.format("/search?term=%s&entity=album", term);
-            String response = restTemplate.getForObject(url, 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/{name}")
+    public MusicList musicSearchByPath(@PathVariable String name) { // String이 리턴 타입 이었음.
+        return service.serachMusic(name);
     }
 
-    @GetMapping(value   = "/musicSearch")
-    public MusicList musicSearchByParam(@RequestParam(value   = "term") String name) {
-        try {
-            url = url   + String.format("/search?term=%s&entity=album", name);
-            String response = restTemplate.getForObject(url, 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.serachMusic(name);
     }
 
     // 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;
-        }
+        return service.getLikes();
     }
 
-
-
+    @PostMapping(value = "/likes")
+    public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) {
+        return service.saveFavorite(favorite);
+    }
 }
diff --git a/src/main/java/kr/ajou/prcoding/mySpringWeb/dto/FavoriteMusicRequestDto.java b/src/main/java/kr/ajou/prcoding/mySpringWeb/dto/FavoriteMusicRequestDto.java
new file mode 100644
index 0000000000000000000000000000000000000000..4541e5a28f4d62875e5d29f90e8215dde8056528
--- /dev/null
+++ b/src/main/java/kr/ajou/prcoding/mySpringWeb/dto/FavoriteMusicRequestDto.java
@@ -0,0 +1,31 @@
+package kr.ajou.prcoding.mySpringWeb.dto;
+
+import kr.ajou.prcoding.mySpringWeb.entity.FavoriteMusic;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.ToString;
+
+@Getter
+@Setter
+@ToString
+public class FavoriteMusicRequestDto {
+    private String collectionId;
+    private String collectionType;
+    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.setCollectionType(this.collectionType);
+        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/ajou/prcoding/mySpringWeb/service/MusicService.java b/src/main/java/kr/ajou/prcoding/mySpringWeb/service/MusicService.java
new file mode 100644
index 0000000000000000000000000000000000000000..e2db1a18cebb2e52cd85daa04fe1456665d4b8ca
--- /dev/null
+++ b/src/main/java/kr/ajou/prcoding/mySpringWeb/service/MusicService.java
@@ -0,0 +1,56 @@
+package kr.ajou.prcoding.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.transaction.Transactional;
+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.repository.FavoriteRepository;
+import lombok.RequiredArgsConstructor;
+
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class MusicService {
+    private final FavoriteRepository albumsRepo;
+    RestTemplate restTemplate = new RestTemplate();
+    private final String itunesUrl = "http://itunes.apple.com"; // ?term=${searchWord}&entity=album
+
+    public MusicList serachMusic(String musicName){
+        try {
+            String url = itunesUrl + String.format("/search?term=%s&entity=album", musicName);
+            String response = restTemplate.getForObject(url, 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;
+        }
+    }
+}