diff --git a/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java b/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java
index 9f230ce44a535199639a7fdc9424737ddc3fa363..8a8bdc46a0664677b4baf7d95679ba0b0141dbb5 100644
--- a/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java
+++ b/src/main/java/com/ajou/prcoding/myweb/controller/MyWebController.java
@@ -16,6 +16,7 @@ import com.ajou.prcoding.myweb.dto.FavoriteMusicRequestDto;
 import com.ajou.prcoding.myweb.dto.MusicList;
 import com.ajou.prcoding.myweb.entity.FavoriteMusic;
 import com.ajou.prcoding.myweb.repository.FavoriteRepository;
+import com.ajou.prcoding.myweb.service.MusicService;
 import com.fasterxml.jackson.databind.ObjectMapper;
 
 import jakarta.transaction.Transactional;
@@ -23,62 +24,22 @@ import jakarta.transaction.Transactional;
 @RestController
 public class MyWebController {
     @Autowired
-    FavoriteRepository albumsRepo;
-
-    RestTemplate restTemplate = new RestTemplate();
-
-    @GetMapping(value="/musicSearch/{term}")
-    public MusicList musicSearchByPath(@PathVariable String term) {
-        try {
-            String response = restTemplate.getForObject("https://itunes.apple.com/search?term={term}&entity=album",String.class, "aespa");
-            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;
+    MusicService service;
+    @GetMapping(value = "/musicSearch/{name}")
+    public MusicList musicSearchByPath(@PathVariable String name){
+        return service.searchMusic(name);
     }
     @GetMapping(value="/musicSearch")
-    public MusicList musicSearchByParam(@RequestParam String term){
-        RestTemplate restTemplate = new RestTemplate();
-        try {
-            String response = restTemplate.getForObject("https://itunes.apple.com/search?term={term}&entity=album",String.class, "aespa");
-            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(value="term") String name) {
+    return service.searchMusic(name);
     }
-    //Get Favorite Music list from Database
-    @GetMapping(value="/likes")
+
+    @GetMapping(value="/likes") //Get Favorite Music list from Database
     public List<FavoriteMusic> getLikes() {
-        try {
-            return albumsRepo.findAll();
-        } catch (Exception e) {
-            System.out.println(e.toString());
-            return null;
-        }
+    return service.getLikes();
     }
     @PostMapping(value="/likes")
-    @Transactional
-    public int postLikes(@RequestBody FavoriteMusicRequestDto favorite)
-    {
-        FavoriteMusic music = albumsRepo.save(favorite.toEntity());
-        if(music != null) {
-            return 1;
-        }
-        else {
-            return 0;
-        }
-}
-
-    
-    
-    
+    public int postLikes(@RequestBody FavoriteMusicRequestDto favorite) {
+    return service.saveFavorite(favorite);
+    }
 }
-
diff --git a/src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java b/src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java
index 3d10a91af7faf2378cf4f7a768ca7a95bbf1d9c0..2a2590e813715646718b5eaed0502392ffcaa5db 100644
--- a/src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java
+++ b/src/main/java/com/ajou/prcoding/myweb/dto/FavoriteMusicRequestDto.java
@@ -11,12 +11,21 @@ import lombok.ToString;
 @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(){
+    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;
-}
-}
+    }
+}
\ No newline at end of file
diff --git a/src/main/java/com/ajou/prcoding/myweb/service/MusicService.java b/src/main/java/com/ajou/prcoding/myweb/service/MusicService.java
new file mode 100644
index 0000000000000000000000000000000000000000..59c90c182e935888d5d355f3db22468b2e5a4c6e
--- /dev/null
+++ b/src/main/java/com/ajou/prcoding/myweb/service/MusicService.java
@@ -0,0 +1,79 @@
+package com.ajou.prcoding.myweb.service;
+
+import java.io.IOException;
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+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.client.RestTemplate;
+
+import com.ajou.prcoding.myweb.dto.FavoriteMusicRequestDto;
+import com.ajou.prcoding.myweb.dto.MusicList;
+import com.ajou.prcoding.myweb.entity.FavoriteMusic;
+import com.ajou.prcoding.myweb.repository.FavoriteRepository;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import jakarta.transaction.Transactional;
+import lombok.RequiredArgsConstructor;
+
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class MusicService {
+    RestTemplate restTemplate = new RestTemplate();
+
+    public MusicList musicSearchByPath(@PathVariable String term) {
+        try {
+            String response = restTemplate.getForObject("https://itunes.apple.com/search?term={term}&entity=album", String.class, term);
+            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 searchMusic(@RequestParam String term) { 
+        try {
+            String response = restTemplate.getForObject("https://itunes.apple.com/search?term={term}&entity=album", String.class, term);
+            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;
+
+    public List<FavoriteMusic> getLikes() {
+    try {
+        return albumsRepo.findAll();
+        } catch (Exception e) {
+            System.out.println(e.toString());
+            return null;
+        }
+    }
+
+    @Transactional
+    public int saveFavorite(@RequestBody FavoriteMusicRequestDto favorite)
+    {
+    FavoriteMusic music = albumsRepo.save(favorite.toEntity());
+    if(music != null) {
+        return 1;
+    }
+    else {
+        return 0;
+    }
+    }
+}
\ No newline at end of file