CRUD - delete

혜준·2024년 5월 23일
post-thumbnail

이제 데이터의 삭제 과정을 알아볼까요?

데이터의 삭제 과정은
1. 클라이언트가 http메서드로 게시글의 삭제 요청을 하면
2. 삭제 요청을 받은 컨트롤러가 리파지터리를 통해 DB에 저장된 데이터를 찾아 기존 데이터가 있을 경우 삭제
3. 클라이언트를 결과 페이지로 반환

HTML에서는 DELETE방식을 지원하지 않으므로 GET방식으로 삭제를 요청해야 합니다

  1. 삭제할 대상 가져오기
  2. 대상 엔티티 삭제
  3. 결과 페이지로 리다이렉트
public String delete(@PathVariable Long id, RedirectAttributes rttr) {
        log.info("삭제 요청이 들어왔습니다.");

        //삭제할 대상 가져와서
        Article target = articleRepository.findById(id).orElse(null);
        log.info(target.toString());

        //entity 삭제
        if (target != null) {
            articleRepository.delete(target);
            rttr.addFlashAttribute("msg", "삭제됐습니다!");
        }

        //결과 페이지로 리다이렉트
        return "redirect:/articles";
    }
  • RedirectAttributes 객체로 삭제 완료 메시지 남기기 (p.240)

Cf) 리다이렉트 Reference 참고

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/servlet/mvc/support/RedirectAttributes.html


@PathVariable : get방식의 url에 둘러싸인 값을 매개변수로 받음

profile
성장을 추구하는 개발자 입니다 :)

0개의 댓글