diff --git a/src/main/java/EatPic/spring/domain/user/controller/UserController.java b/src/main/java/EatPic/spring/domain/user/controller/UserController.java index fed1147..934ec3f 100644 --- a/src/main/java/EatPic/spring/domain/user/controller/UserController.java +++ b/src/main/java/EatPic/spring/domain/user/controller/UserController.java @@ -4,6 +4,7 @@ import EatPic.spring.domain.user.dto.*; import EatPic.spring.domain.user.dto.request.LoginRequestDTO; import EatPic.spring.domain.user.dto.request.SignupRequestDTO; +import EatPic.spring.domain.user.dto.response.CheckEmailResponseDTO; import EatPic.spring.domain.user.dto.response.CheckNicknameResponseDTO; import EatPic.spring.domain.user.dto.response.LoginResponseDTO; import EatPic.spring.domain.user.dto.response.SignupResponseDTO; @@ -53,9 +54,17 @@ public ApiResponse getMyInfo(HttpServletRequest request) { // 이메일 중복 검사 @GetMapping("/check-email") @Operation(summary = "이메일 중복 검사") - public ApiResponse> checkEmail(@RequestParam String email) { + public ApiResponse checkEmail(@RequestParam String email) { boolean isDuplicate = userService.isEmailDuplicate(email); - return ApiResponse.onSuccess(Map.of("isDuplicate", isDuplicate)); + + if(isDuplicate) { + return ApiResponse.onFailure( + ErrorStatus.DUPLICATE_EMAIL.getCode(), + ErrorStatus.DUPLICATE_EMAIL.getMessage(), + UserConverter.toCheckEmailResponseDTO(email, false) + ); + } + return ApiResponse.onSuccess(UserConverter.toCheckEmailResponseDTO(email, true)); } // 유저 아이디 중복 검사 @@ -79,7 +88,6 @@ public ApiResponse checkNickname(@RequestParam String UserConverter.toCheckNicknameResponseDto(nickname, false) ); } - return ApiResponse.onSuccess(UserConverter.toCheckNicknameResponseDto(nickname, true)); } } diff --git a/src/main/java/EatPic/spring/domain/user/converter/UserConverter.java b/src/main/java/EatPic/spring/domain/user/converter/UserConverter.java index ace403c..9b024eb 100644 --- a/src/main/java/EatPic/spring/domain/user/converter/UserConverter.java +++ b/src/main/java/EatPic/spring/domain/user/converter/UserConverter.java @@ -4,6 +4,7 @@ import EatPic.spring.domain.reaction.dto.ReactionResponseDTO; import EatPic.spring.domain.reaction.entity.ReactionType; import EatPic.spring.domain.user.dto.UserInfoDTO; +import EatPic.spring.domain.user.dto.response.CheckEmailResponseDTO; import EatPic.spring.domain.user.dto.response.CheckNicknameResponseDTO; import EatPic.spring.domain.user.dto.response.LoginResponseDTO; import EatPic.spring.domain.user.dto.response.UserResponseDTO; @@ -98,6 +99,14 @@ public static UserResponseDTO.UserActionResponseDto toUserActionResponseDto(User .build(); } + // 유저 아이디 중복 검사 + public static CheckEmailResponseDTO toCheckEmailResponseDTO(String email, boolean isDuplicate){ + return CheckEmailResponseDTO.builder() + .email(email) + .isDuplicate(isDuplicate) + .build(); + } + // 닉네임 중복 검사 public static CheckNicknameResponseDTO toCheckNicknameResponseDto(String nickname, boolean isDuplicate) { return CheckNicknameResponseDTO.builder() @@ -105,4 +114,5 @@ public static CheckNicknameResponseDTO toCheckNicknameResponseDto(String nicknam .isDuplicate(isDuplicate) .build(); } + } diff --git a/src/main/java/EatPic/spring/domain/user/dto/response/CheckEmailResponseDTO.java b/src/main/java/EatPic/spring/domain/user/dto/response/CheckEmailResponseDTO.java new file mode 100644 index 0000000..db9b8bc --- /dev/null +++ b/src/main/java/EatPic/spring/domain/user/dto/response/CheckEmailResponseDTO.java @@ -0,0 +1,15 @@ +package EatPic.spring.domain.user.dto.response; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; + +@Builder +@Getter +@NoArgsConstructor +@AllArgsConstructor +public class CheckEmailResponseDTO { + private String email; + private boolean isDuplicate; +} diff --git a/src/main/java/EatPic/spring/domain/user/dto/response/CheckNicknameResponseDTO.java b/src/main/java/EatPic/spring/domain/user/dto/response/CheckNicknameResponseDTO.java index c19a4e1..acba8d9 100644 --- a/src/main/java/EatPic/spring/domain/user/dto/response/CheckNicknameResponseDTO.java +++ b/src/main/java/EatPic/spring/domain/user/dto/response/CheckNicknameResponseDTO.java @@ -1,6 +1,5 @@ package EatPic.spring.domain.user.dto.response; -import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Getter;