개인 공부/BackEnd Study

[ Spring Boot ] 맨날 까먹는 나를 위한 복습 - 8 -

킴도비 2024. 3. 28. 13:59

8.1 데이터 삭제 과정

  1. 클라이언트가 HTTP 메서드로 특정 게시글의 삭제를 요청함
  2. 삭제 요청을 받은 컨트롤러는 리파지터리를 통해 DB에 저장된 데이터를 찾아 삭제. 기존 데이터가 있을 경우에만 수행
  3. 삭제가 완료됐다면 클라이언트를 결과 페이지로 리다이렉트

 

  • RedirectAttributes 객체의 addFlastAttribute()라는 메서드는 리다이렉트된 페이지에서 사용할 일회성 데이터를 등록할 수 있음.

 

 

8.2 데이터 삭제하기

  • HTTP 메서드 4가지 (복습!)
    • POST : 데이터 생성
    • GET : 데이터 조회
    • PATCH(PUT) : 데이터 수정
    • DELETE : 데이터 삭제
  • HTML에서는 POST와 GET을 제외한 다른 메서드를 제공하지 않음
  • GET 방식으로 삭제 요청을 받아 처리

 

  • RedirectAttributes 객체의 addFlastAttribute() 메서드 활용하기
    • 리다이렉트 시점에 한번만 사용할 데이터를 등록할 수 있음
    • 한번 쓰고 사라지는 휘발성 데이터를 등록하는 것
객체명.addFlashAttribute(넘겨_주려는_키_문자열, 넘겨_주려는_값_객체);

 

  • 클라이언트가 특정 게시글의 삭제 요청을 하면 컨트롤러의 delete() 메서드에서 @GetMapping으로 받음
  • 삭제하려면 대푯값인 id가 필요한데, 이 때 @PathVariable 어노테이션을 사용
  • @PathVariable은 @GetMapping의 URL에서 중괄호에 둘러싸인 값을 매개변수로 가져옴.
  • 리파지터리는 이렇게 가져온 id로 DB에서 삭제 대상을 찾고 리파지터리가 제공하는 delete() 메서드로 데이터를 삭제
  • DB 내부에서는 DELETE라는 SQL문이 자동으로 수행됨.