diff --git a/src/main/java/com/example/konnect_backend/domain/user/controller/UserController.java b/src/main/java/com/example/konnect_backend/domain/user/controller/UserController.java index 1198a61..749218b 100644 --- a/src/main/java/com/example/konnect_backend/domain/user/controller/UserController.java +++ b/src/main/java/com/example/konnect_backend/domain/user/controller/UserController.java @@ -3,6 +3,7 @@ import com.example.konnect_backend.domain.user.dto.ChildDto; import com.example.konnect_backend.domain.user.dto.ChildUpdateDto; +import com.example.konnect_backend.domain.user.dto.UserInfoDto; import com.example.konnect_backend.domain.user.service.UserService; import com.example.konnect_backend.global.ApiResponse; import io.swagger.v3.oas.annotations.Operation; @@ -45,4 +46,11 @@ public ApiResponse deleteChild(@PathVariable Long childId) { userService.deleteChild(childId); return ApiResponse.onSuccess(null); } + + @GetMapping("") + @Operation(summary = "유저 조회", description = "현재 로그인한 사용자의 정보를 조회합니다.") + public ApiResponse getUserInfo() { + return ApiResponse.onSuccess(userService.getUserInfo()); + } + } \ No newline at end of file diff --git a/src/main/java/com/example/konnect_backend/domain/user/dto/UserInfoDto.java b/src/main/java/com/example/konnect_backend/domain/user/dto/UserInfoDto.java new file mode 100644 index 0000000..550e804 --- /dev/null +++ b/src/main/java/com/example/konnect_backend/domain/user/dto/UserInfoDto.java @@ -0,0 +1,15 @@ +package com.example.konnect_backend.domain.user.dto; + +import com.example.konnect_backend.domain.user.entity.status.Language; +import lombok.*; + +@Getter +@Setter +@NoArgsConstructor +@AllArgsConstructor +@Builder +public class UserInfoDto { + private String name; + private Language language; + private String email; +} diff --git a/src/main/java/com/example/konnect_backend/domain/user/service/UserService.java b/src/main/java/com/example/konnect_backend/domain/user/service/UserService.java index 9047678..5cd544e 100644 --- a/src/main/java/com/example/konnect_backend/domain/user/service/UserService.java +++ b/src/main/java/com/example/konnect_backend/domain/user/service/UserService.java @@ -3,6 +3,7 @@ import com.example.konnect_backend.domain.user.dto.ChildDto; import com.example.konnect_backend.domain.user.dto.ChildUpdateDto; +import com.example.konnect_backend.domain.user.dto.UserInfoDto; import com.example.konnect_backend.domain.user.entity.Child; import com.example.konnect_backend.domain.user.entity.User; import com.example.konnect_backend.domain.user.repository.ChildRepository; @@ -111,4 +112,19 @@ public void deleteChild(Long childId) { childRepository.delete(child); } + + @Transactional + public UserInfoDto getUserInfo(){ + Long userId = SecurityUtil.getCurrentUserIdOrNull(); + if (userId == null) { + throw new GeneralException(ErrorStatus.UNAUTHORIZED); + } + + User user = userRepository.findById(userId).orElseThrow(() -> new GeneralException(ErrorStatus.USER_NOT_FOUND)); + return UserInfoDto.builder() + .email(user.getEmail()) + .name(user.getName()) + .language(user.getLanguage()) + .build(); + } } \ No newline at end of file diff --git a/src/main/java/com/example/konnect_backend/global/config/WebSecurityConfig.java b/src/main/java/com/example/konnect_backend/global/config/WebSecurityConfig.java index 90e0fb2..e6af412 100644 --- a/src/main/java/com/example/konnect_backend/global/config/WebSecurityConfig.java +++ b/src/main/java/com/example/konnect_backend/global/config/WebSecurityConfig.java @@ -110,7 +110,8 @@ public CorsConfigurationSource corsConfigurationSource() { "https://www.konnect-women.site", "http://konnect-women.site", "http://www.konnect-women.site", - "http://localhost:8081" + "https://www.api.konnect-women.site", + "http://www.api.konnect-women.site" ); config.setAllowedOrigins(allowedOrigins);