From 870d19c793d303b6201237e3f85108c2697dc768 Mon Sep 17 00:00:00 2001 From: NameIsUser06 Date: Mon, 8 Jan 2024 09:26:21 +0900 Subject: [PATCH] refactor : RequestPart file --- .../domain/feed/presentation/FeedController.java | 3 ++- .../friend/presentation/FriendController.java | 5 +++-- .../domain/friend/service/PostFriendService.java | 14 +++++++------- 3 files changed, 12 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/investment/findfriend/domain/feed/presentation/FeedController.java b/src/main/java/com/investment/findfriend/domain/feed/presentation/FeedController.java index 1dfebed..52832b1 100644 --- a/src/main/java/com/investment/findfriend/domain/feed/presentation/FeedController.java +++ b/src/main/java/com/investment/findfriend/domain/feed/presentation/FeedController.java @@ -8,6 +8,7 @@ import com.investment.findfriend.domain.feed.service.PostFeedService; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -23,7 +24,7 @@ public class FeedController { private final GetFeedListService getFeedListService; private final GetFeedService getFeedService; - @PostMapping + @PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public ResponseEntity postFeed(@RequestPart("data") PostFeedRequest request, @RequestPart("file") MultipartFile file, HttpServletRequest httpServletRequest) { return postPostService.execute(request, file, httpServletRequest); } diff --git a/src/main/java/com/investment/findfriend/domain/friend/presentation/FriendController.java b/src/main/java/com/investment/findfriend/domain/friend/presentation/FriendController.java index 8a343c6..507ae2e 100644 --- a/src/main/java/com/investment/findfriend/domain/friend/presentation/FriendController.java +++ b/src/main/java/com/investment/findfriend/domain/friend/presentation/FriendController.java @@ -6,6 +6,7 @@ import com.investment.findfriend.domain.friend.service.*; import jakarta.servlet.http.HttpServletRequest; import lombok.RequiredArgsConstructor; +import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -23,8 +24,8 @@ public class FriendController { private final GetFreeFriendListService getFreeFriendListService; - @PostMapping("/meet") - public ResponseEntity meetFriend(@RequestPart("data") PostFriendRequest request, @RequestPart("file") MultipartFile file, HttpServletRequest httpServletRequest) { + @PostMapping(value = "/meet", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) + public ResponseEntity meetFriend(@RequestPart("data") PostFriendRequest request, @RequestPart(value = "file", required = false) MultipartFile file, HttpServletRequest httpServletRequest) { return postFriendService.execute(request, file, httpServletRequest); } diff --git a/src/main/java/com/investment/findfriend/domain/friend/service/PostFriendService.java b/src/main/java/com/investment/findfriend/domain/friend/service/PostFriendService.java index 5d0eca8..34e51a9 100644 --- a/src/main/java/com/investment/findfriend/domain/friend/service/PostFriendService.java +++ b/src/main/java/com/investment/findfriend/domain/friend/service/PostFriendService.java @@ -30,9 +30,10 @@ public class PostFriendService { @Transactional public ResponseEntity execute(PostFriendRequest request, MultipartFile file, HttpServletRequest httpServletRequest) { - User user = userRepository.findByEmail(jwtUtil.extractEmail(httpServletRequest)).orElseThrow( - () -> UserNotFoundException.EXCEPTION - ); + User user = userRepository.findByEmail(jwtUtil.extractEmail(httpServletRequest)) + .orElseThrow(() -> UserNotFoundException.EXCEPTION); + + File savedFile = file.isEmpty() ? fileRepository.save(File.builder().path(fileSaveUtil.save(file)).build()) : null; Friend friend = Friend.builder() .user(user) @@ -40,14 +41,13 @@ public ResponseEntity execute(PostFriendRequest request, MultipartFile f .authority(Authority.ROLE_CUSTOM) .name(request.getName()) .personalities(request.getPersonalities()) - .file(fileRepository.save( - File.builder() - .path(fileSaveUtil.save(file)) - .build())) + .file(savedFile) .build(); friendRepository.save(friend); user.getFriends().add(friend); + return ResponseEntity.ok("success"); } + } \ No newline at end of file