회원 삭제 기능 구현

1. Cotroller - delete

@DeleteMapping("/{id}")
	public void deleteUser(@PathVariable @Valid long id){
	    userService.deleteUser(id);
}

어노테이션 @PathVariable을 사용하여 파라미터로 id를 받는다.

어노테이션 @Valid도 함께 사용하여 파라미터 검증을 해준다.

@Valid 의존성 추가

build.gradle

implementation 'org.springframework.boot:spring-boot-starter-validation'

2. Service - 회원 삭제 메소드 구현

@Transactional
public void deleteUser(long id){
    // 없는 아이디일 경우 추후에 예외처리 진행
    //userRepository.findById(id).orElseThrow();
    userRepository.deleteById(id);
}

메소드 로직

  1. JPA 내장 메소드인 findById를 사용하여 아이디 유효성을 체크한다.
  2. 만약 없는 아이디일 경우 예외처리를 한다.
  3. 있는 아이디일 경우 JPA 내장 메소드인 deleteById를 사용하여 id에 해당하는 엔티티를 삭제한다.

문제점