이제 데이터의 삭제 과정을 알아볼까요?
데이터의 삭제 과정은
1. 클라이언트가 http메서드로 게시글의 삭제 요청을 하면
2. 삭제 요청을 받은 컨트롤러가 리파지터리를 통해 DB에 저장된 데이터를 찾아 기존 데이터가 있을 경우 삭제
3. 클라이언트를 결과 페이지로 반환
HTML에서는 DELETE방식을 지원하지 않으므로 GET방식으로 삭제를 요청해야 합니다
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";
}
Cf) 리다이렉트 Reference 참고
@PathVariable : get방식의 url에 둘러싸인 값을 매개변수로 받음