본문 바로가기

스프링 스터디

회원 삭제 기능 / 2022-02-07

controller.UserYwooController

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

@ 어노테이션

@DeleteMapping

  • Http Request를 Delete 방식으로 보낼 때 사용한다.
  • 정상적으로 삭제하면 별다른 return값이 없지만 삭제할 유저가 없는 경우 에러가 난다.

@PathVariable

  • URL 경로에 변수를 넣어준다.
  • {템플릿 변수} 와 동일한 이름을 갖는 파라미터를 추가하면 매핑된다.

service.UserYwooService

    private final UserYwooRepository userRepository;

    ..

    @Transactional
    public void deleteUser(long id){
      /*  userRepository.findById(id).orElseThrow(()->{
            throw new DataNoFoundException();
        }); */
        userRepository.deleteById(id);
    }

@ 어노테이션

@Transactional

  • 해당 어노테이션이 붙은 메서드 안에서 작업이 하나라도 실패할 경우 전체 작업을 취소한다.

주석처리가 된 부분은 DB에서 id를 찾지 못했을 경우 Custom Exception을 발생시키는 부분이다. 아직 구현이 덜 되어 주석처리를 했다.

CrudRepository에 있는 deleteById를 통해 매개변수로 들어온 id에 해당하는 값을 지운다.

 

 

 

 

 

 

 


 

 

 

🔗 : ISSUES #12 회원 삭제 기능 구현

🔗 : Spring Study