diff --git a/src/main/java/com/mpnp/baechelin/user/controller/UserController.java b/src/main/java/com/mpnp/baechelin/user/controller/UserController.java index c024e46..a45d3b1 100644 --- a/src/main/java/com/mpnp/baechelin/user/controller/UserController.java +++ b/src/main/java/com/mpnp/baechelin/user/controller/UserController.java @@ -1,13 +1,13 @@ package com.mpnp.baechelin.user.controller; import com.mpnp.baechelin.common.SuccessResponse; +import com.mpnp.baechelin.user.dto.UserResponseDto; import com.mpnp.baechelin.user.service.UserService; -import com.mpnp.baechelin.util.CookieUtil; +import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; import org.springframework.security.core.annotation.AuthenticationPrincipal; import org.springframework.security.core.userdetails.User; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -21,6 +21,7 @@ public class UserController { private final UserService userService; + @ApiOperation(value = "로그아웃") @RequestMapping("/logout") public SuccessResponse logout( HttpServletRequest request, @@ -31,4 +32,10 @@ public SuccessResponse logout( return new SuccessResponse("로그아웃"); } + + @GetMapping + @ApiOperation(value = "유저 정보를 반환합니다") + public UserResponseDto getUserInfo(@AuthenticationPrincipal User user) { + return userService.getUserInfo(user.getUsername()); + } } diff --git a/src/main/java/com/mpnp/baechelin/user/controller/UserInfoController.java b/src/main/java/com/mpnp/baechelin/user/controller/UserInfoController.java deleted file mode 100644 index 0b0b342..0000000 --- a/src/main/java/com/mpnp/baechelin/user/controller/UserInfoController.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.mpnp.baechelin.user.controller; - -import com.mpnp.baechelin.user.dto.UserInfoResponseDto; -import com.mpnp.baechelin.user.service.UserInfoService; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.http.HttpStatus; -import org.springframework.http.ResponseEntity; -import org.springframework.security.core.annotation.AuthenticationPrincipal; -import org.springframework.security.core.userdetails.User; -import org.springframework.web.bind.annotation.*; - -@RestController -@RequestMapping("/userinfo") -@RequiredArgsConstructor -@Slf4j -public class UserInfoController { - private final UserInfoService userInfoService; - - @GetMapping - @ApiOperation(value = "유저 정보를 반환합니다") - public ResponseEntity getUserInfo(@AuthenticationPrincipal User user) { - return new ResponseEntity<>(userInfoService.giveUserInfo(user.getUsername()), HttpStatus.OK); - } -} diff --git a/src/main/java/com/mpnp/baechelin/user/dto/UserInfoResponseDto.java b/src/main/java/com/mpnp/baechelin/user/dto/UserInfoResponseDto.java deleted file mode 100644 index 9729af2..0000000 --- a/src/main/java/com/mpnp/baechelin/user/dto/UserInfoResponseDto.java +++ /dev/null @@ -1,26 +0,0 @@ -package com.mpnp.baechelin.user.dto; - - -import com.mpnp.baechelin.bookmark.domain.Bookmark; -import com.mpnp.baechelin.bookmark.domain.Folder; -import com.mpnp.baechelin.review.domain.Review; -import com.mpnp.baechelin.user.domain.User; -import lombok.*; - -import java.time.LocalDateTime; -import java.util.List; -import java.util.stream.Collectors; - -@Builder -@AllArgsConstructor -@NoArgsConstructor -@Getter -public class UserInfoResponseDto { - private String name; - private String email; - - public UserInfoResponseDto(User user) { - this.name = user.getName(); - this.email = user.getEmail(); - } -} \ No newline at end of file diff --git a/src/main/java/com/mpnp/baechelin/user/dto/UserResponseDto.java b/src/main/java/com/mpnp/baechelin/user/dto/UserResponseDto.java new file mode 100644 index 0000000..45b41ea --- /dev/null +++ b/src/main/java/com/mpnp/baechelin/user/dto/UserResponseDto.java @@ -0,0 +1,19 @@ +package com.mpnp.baechelin.user.dto; + + +import com.mpnp.baechelin.user.domain.User; +import lombok.*; + +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Getter +public class UserResponseDto { + private String name; + private String email; + + public UserResponseDto(User user) { + this.name = user.getName(); + this.email = user.getEmail(); + } +} \ No newline at end of file diff --git a/src/main/java/com/mpnp/baechelin/user/service/UserInfoService.java b/src/main/java/com/mpnp/baechelin/user/service/UserInfoService.java deleted file mode 100644 index b8465a4..0000000 --- a/src/main/java/com/mpnp/baechelin/user/service/UserInfoService.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.mpnp.baechelin.user.service; - -import com.mpnp.baechelin.user.dto.UserInfoResponseDto; -import com.mpnp.baechelin.user.domain.User; -import com.mpnp.baechelin.user.repository.UserRepository; -import lombok.RequiredArgsConstructor; -import org.springframework.stereotype.Service; - -import javax.transaction.Transactional; - -@Transactional -@Service -@RequiredArgsConstructor -public class UserInfoService { - private final UserRepository userRepository; - - public UserInfoResponseDto giveUserInfo(String socialId) { - User targetUser = userRepository.findBySocialId(socialId); - return new UserInfoResponseDto(targetUser); - } -} diff --git a/src/main/java/com/mpnp/baechelin/user/service/UserService.java b/src/main/java/com/mpnp/baechelin/user/service/UserService.java index 7667408..f0515c9 100644 --- a/src/main/java/com/mpnp/baechelin/user/service/UserService.java +++ b/src/main/java/com/mpnp/baechelin/user/service/UserService.java @@ -2,6 +2,7 @@ import com.mpnp.baechelin.login.jwt.repository.UserRefreshTokenRepository; import com.mpnp.baechelin.user.domain.User; +import com.mpnp.baechelin.user.dto.UserResponseDto; import com.mpnp.baechelin.user.repository.UserRepository; import com.mpnp.baechelin.util.CookieUtil; import lombok.RequiredArgsConstructor; @@ -22,5 +23,10 @@ public void logout(HttpServletRequest request, HttpServletResponse response, Str userRefreshTokenRepository.deleteBySocialId(socialId); CookieUtil.deleteCookie(request, response, "refresh_token"); } + + public UserResponseDto getUserInfo(String socialId) { + User targetUser = userRepository.findBySocialId(socialId); + return new UserResponseDto(targetUser); + } }