🏅오늘의 목표
- 회원 탈퇴(논리삭제) 구현
✅ 진행한 작업
- 회원 탈퇴(논리삭제) 구현
📃 개발내용
회원 탈퇴
- 회원 탈퇴 기능은 논리삭제 방식으로 구현하여 데이터 무결성과 확장성을 확보
- JWT 인증 정보를 기반으로 본인만 탈퇴 가능하도록 API 구조 설계
UserService - 탈퇴 메서드 추가
// 탈퇴 : 논리삭제
@Transactional
public void withdraw(UUID userUuid) {
User user = userRepository.findByUuid(userUuid)
.orElseThrow(() -> new BaseException(UserErrorCode.USER_NOT_FOUND));
user.withdraw();
}
- DB 에서 실제 삭제하지 않고 논리삭제
UserController - 탈퇴 API 추가
// 회원 탈퇴
@DeleteMapping("/delete")
public ResponseEntity<ApiResponse<Void>> withdraw(
@AuthenticationPrincipal CustomUserDetails customUserDetails
){
userService.withdraw(customUserDetails.getUserUuid());
return ResponseEntity.ok(new ApiResponse<>("회원 탈퇴가 완료되었습니다."));
}
참고자료
'런닝 코스 공유 서비스' 카테고리의 다른 글
| [런닝 코스 공유 서비스] - 21. 코스 도메인 및 등록 API 개발 (1) | 2026.01.15 |
|---|---|
| [런닝 코스 공유 서비스] - 20. User 도메인 PR 후 리팩토링 (1) | 2026.01.15 |
| [런닝 코스 공유 서비스] - 18. 회원 프로필 업로드 (0) | 2026.01.12 |
| [런닝 코스 공유 서비스] - 17. Oauth 로그인 (1) | 2026.01.12 |
| [런닝 코스 공유 서비스] - 16. AccessToken 블랙리스트 (0) | 2026.01.11 |