Spring/SpringBoot&JPA

[스프링부트와 JPA 활용 2] Section1 중 "회원 삭제 API"

y-seo 2023. 11. 22. 14:31

JPA 활용2를 듣던 도중, 회원 등록, 조회, 수정 API는 강의에서 다루나 삭제 API를 강의에서 안 다루어 직접 코드를 짜 보았다.

 

  • MemberApiController.java 에 코드 추가
    //회원 삭제 API
    @DeleteMapping("/api/v3/members/{id}")
    public ResponseEntity<String> deleteMemberV1(@PathVariable ("id") Long id) {
        memberService.delete(id);
        return new ResponseEntity<>("회원이 성공적으로 삭제되었습니다", HttpStatus.OK);
    }
  • MemberService.java 에 코드 추가
    //회원 삭제 API
    @Transactional
    public void delete(Long id) {
        memberRepository.delete(id);
    }
  • MemberRepository 에 코드 추가
    //회원 삭제 API
    public void delete(Long id) {
        Member member = em.find(Member.class, id);
        if (member != null) {
            em.remove(member);
        } else {
            throw new IllegalArgumentException("해당 ID의 회원이 존재하지 않습니다.");
        }
    }
  • 실행 결과