Skip to content

회원 정보 조회 API 구현 #30

@wooxexn

Description

@wooxexn

1. 구분

  • BackEnd
  • Infra
  • ETC

2. 대분류

  • feat
  • refactor
  • settings
  • etc

3. 작업의 주 내용에 대해서 작성해주세요

회원정보 조회 API 개발 - 실시간 프로필 정보 조회 및 보안 강화

4. 세부 작업에 대해서 작성해주세요

회원정보 조회 응답 DTO 구현

  • UserProfileResponseDto 생성 (프로필 정보 응답 데이터)
  • 민감정보 제외 (비밀번호, deletedAt 등 숨김 처리)
  • 권한별 정보 차등 제공 (CUSTOMER는 businessNumber null)
  • 정적 팩토리 메서드 패턴 적용 (from() 메서드)
  • Lombok 어노테이션 적용 (@Getter, @Setter, @NoArgsConstructor)

회원정보 조회 서비스 로직 구현

  • UserService.getUserProfile() 메서드 구현
  • 실시간 DB 조회로 최신 정보 반영
  • JWT 토큰에서 사용자 ID 추출하여 조회
  • 탈퇴한 사용자 404 처리 (deletedAt 확인)
  • @transactional(readOnly = true) 적용

API 컨트롤러 구현

  • UserController에 getUserProfile() 메서드 추가
  • GET /v1/users/me 엔드포인트 구현
  • JWT 토큰 기반 사용자 인증 (@AuthenticationPrincipal)
  • Authorization 헤더에서 자동 사용자 정보 추출
  • 인증된 사용자만 접근 가능하도록 보안 설정

Spring Security 설정 수정

  • SecurityConfig 권한 설정 세분화
  • /v1/users/me 경로를 인증된 사용자 모두 접근 가능하도록 설정
  • 관리자 전용 경로와 일반 사용자 경로 분리
  • requestMatchers 순서 및 범위 조정

실시간 정보 조회 및 보안

  • DB에서 최신 사용자 정보 실시간 조회
  • 권한 변경 시 즉시 반영 (토큰 권한과 무관하게 DB 권한 우선)
  • 탈퇴한 사용자 접근 차단 (404 Not Found 응답)
  • 민감정보 노출 방지 (비밀번호, 삭제일 등 제외)

테스트 및 검증

  • 포스트맨 Bearer Token 인증 테스트 성공
  • SecurityConfig 수정으로 GET 메서드 지원 확인

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions