런닝 코스 공유 서비스

[런닝 코스 공유 서비스] - 19. 회원 탈퇴

sson-coding 2026. 1. 15. 20:45

🏅오늘의 목표

  • 회원 탈퇴(논리삭제) 구현

진행한 작업

  • 회원 탈퇴(논리삭제) 구현

📃 개발내용

회원 탈퇴

  • 회원 탈퇴 기능은 논리삭제 방식으로 구현하여 데이터 무결성과 확장성을 확보
  • 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<>("회원 탈퇴가 완료되었습니다."));
	}

참고자료

https://programming-tree.tistory.com/96

https://ddururiiiiiii.tistory.com/616