email 값을 받아 id 찾는 api 구현
단순히 email 을 입력 후 id를 찾는 로직은 타 회원의 id를 볼 수 도 있기에 적합하지 않음
<Service>
public LoginIdFindResponseDto findIdByEmail(KeyRequestDto keyRequestDto) {
Optional<Auth> user = authRepository.findByUserEmail(keyRequestDto.getKey());
log.info("email: "+ keyRequestDto.getKey());
if (user.isPresent()) {
log.info("id: " +user.get().getLoginId());
return LoginIdFindResponseDto.builder()
.loginId(user.get().getLoginId())
.build();
}
throw new BaseException(BaseResponseStatus.NO_EXIST_USER);
}
<Controller>
@Operation(summary = "find-id-by-email API", description = "find-id-by-email API 입니다. 이메일을 입력하세요.", tags = {"Auth"})
@PostMapping("/find-id-by-email")
public BaseResponse<LoginIdFindResponseVo> findIdByEmail(
@RequestBody KeyRequestVo keyRequestVo) {
KeyRequestDto keyRequestDto = KeyRequestDto.toDto(keyRequestVo);
LoginIdFindResponseDto loginIdFindResponseDto = authService.findIdByEmail(keyRequestDto);
return new BaseResponse<>(loginIdFindResponseDto.toVo(loginIdFindResponseDto));
}