Skip to content

✨ Feat: 닉네임 중복 확인 기능 구현#148

Merged
WhiteBin-bin merged 2 commits into
DoDo-Project:developfrom
WhiteBin-bin:feature/147
Jun 1, 2026
Merged

✨ Feat: 닉네임 중복 확인 기능 구현#148
WhiteBin-bin merged 2 commits into
DoDo-Project:developfrom
WhiteBin-bin:feature/147

Conversation

@WhiteBin-bin
Copy link
Copy Markdown
Contributor

📄 작업 내용 (Description)

이번 PR에서 변경되거나 추가된 주요 작업을 간단히 설명해주세요.

  • 회원가입 전 닉네임 중복 여부 확인 API 추가
  • JWT 없이 호출 가능하도록 SecurityConfig permitAll 설정
  • Scalar 문서에서 인증 요구가 표시되지 않도록 OpenAPI security 제외
  • 닉네임 중복 확인 컨트롤러 및 서비스 테스트 추가

🔗 관련 이슈 (Related Issues)

작업한 이슈 번호를 아래 형식으로 PULL REQUEST BODY에 작성해주세요.
(PR 머지 시 해당 이슈가 자동으로 종료됩니다.)


✅ 체크리스트 (Checklist)

PR을 보내기 전 아래 항목들을 모두 확인해주세요.

  • PR 제목은 커밋 컨벤션을 따랐습니다.
  • 관련 이슈를 연결했습니다.
  • 스스로 코드를 검토하고 불필요한 코드를 제거했습니다.
  • 코드 스타일이 프로젝트 규칙과 일치합니다. (Style)
  • 새로운 기능에 대한 테스트 코드를 추가했거나, 기존 테스트가 모두 통과했습니다. (Test)

📸 스크린샷 (Screenshots)

작업 내용과 관련된 스크린샷이 있다면 첨부해주세요. (UI 변경이 있는 경우)

Before After

💬 기타 사항 (Etc)

리뷰어에게 전달하고 싶은 추가 정보가 있다면 자유롭게 작성해주세요.

  • 급하게 닉네임 중복 확인 기능 만들었고 JWT Token은 필요없습니다.

- 회원가입 전 닉네임 중복 여부 확인 API 추가
- JWT 없이 호출 가능하도록 SecurityConfig permitAll 설정
- Scalar 문서에서 인증 요구가 표시되지 않도록 OpenAPI security 제외
- 닉네임 중복 확인 컨트롤러 및 서비스 테스트 추가

Closes DoDo-Project#147
@WhiteBin-bin WhiteBin-bin requested a review from limhb708 June 1, 2026 07:14
@WhiteBin-bin WhiteBin-bin self-assigned this Jun 1, 2026
@WhiteBin-bin WhiteBin-bin added the ✨ Feature 새 기능 혹은 요구 사항 label Jun 1, 2026
@WhiteBin-bin WhiteBin-bin added the 🐯 백현빈 백현빈 파트 label Jun 1, 2026
@github-project-automation github-project-automation Bot moved this to 📝 할 일 in 칸반 보드 Jun 1, 2026
@WhiteBin-bin WhiteBin-bin moved this from 📝 할 일 to 🏃 진행 중 in 칸반 보드 Jun 1, 2026
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces a new endpoint (/users/nickname/check) and service logic to check for nickname duplication, along with corresponding unit tests. The feedback suggests adding validation for null or blank nicknames in the service layer to prevent unnecessary database queries and ensure consistency with the documented API responses.

Comment on lines +290 to +294
public NicknameCheckResponse checkNicknameDuplication(String nickname) {
boolean duplicated = userRepository.existsByNickname(nickname);

return NicknameCheckResponse.toDto(nickname, duplicated);
}
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

🔍 닉네임 유효성 검증 추가 필요

현재 checkNicknameDuplication 메서드에서는 입력받은 nickname에 대한 유효성 검증(Null 및 공백 여부 등)이 누락되어 있습니다.

UserController의 OpenAPI 문서(@ApiResponse)에는 **"400 닉네임 형식이 올바르지 않습니다."**라는 응답이 정의되어 있지만, 실제 코드에서는 검증 로직이 없어 빈 문자열("")이나 공백만으로 구성된 닉네임도 그대로 DB를 조회하게 됩니다.

또한, 회원가입 시 적용되는 닉네임 형식 규칙(예: 길이 제한, 허용 문자 등)과 동일한 검증을 이 API에서도 수행해야 합니다. 그렇지 않으면 사용자가 중복 확인 시에는 "사용 가능"으로 안내받았으나, 실제 회원가입 단계에서 형식 오류로 가입이 실패하는 비일관적인 사용자 경험(UX)이 발생할 수 있습니다.

개선 사항:

  • nicknamenull이거나 공백(isBlank())인 경우 UserException(INVALID_REQUEST)을 발생시켜 안전하게 예외 처리합니다.
    public NicknameCheckResponse checkNicknameDuplication(String nickname) {
        if (nickname == null || nickname.isBlank()) {
            throw new UserException(INVALID_REQUEST);
        }
        boolean duplicated = userRepository.existsByNickname(nickname);

        return NicknameCheckResponse.toDto(nickname, duplicated);
    }

- 닉네임 공백, 길이, 허용 문자 검증 로직 추가

Closes DoDo-Project#147
@WhiteBin-bin WhiteBin-bin merged commit cf280e8 into DoDo-Project:develop Jun 1, 2026
1 check passed
@github-project-automation github-project-automation Bot moved this from 🏃 진행 중 to ☑️ 완료 in 칸반 보드 Jun 1, 2026
@WhiteBin-bin WhiteBin-bin deleted the feature/147 branch June 1, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

✨ Feature 새 기능 혹은 요구 사항 🐯 백현빈 백현빈 파트

Projects

Status: ☑️ 완료

Development

Successfully merging this pull request may close these issues.

[Feat] 닉네임 중복 확인 기능 구현

1 participant