PRG는 Post Redirect Get 의 줄임말로서, 실무에서 자주 발생하는 문제를 해결하는 방식을 일컫는다고 한다.
즉, Post로 남겨두는게 아니라 Redirect으로 Get Method로 바꿔놓으라는 의미가 된다.
왜 Post로 남겨두면 안될까?
그 이유는 Post로 남겨놓을 경우, 지속적인 Post 요청이 발생해서 의도치않은 문제가 발생할 수 있기 때문이다.
이때는 redirect 파라미터를 사용해주면 된다.
@PostMapping("/add")
public String addItemV6(Item item, RedirectAttributes redirectAttributes) {
Item savedItem = itemRepository.save(item);
redirectAttributes.addAttribute("itemId", savedItem.getId());
redirectAttributes.addAttribute("status", true);
return "redirect:/basic/items/{itemId}";
}
RedirectAttribute 매개변수를 활용하면 위와 같이 코딩이 가능하다. status는 요청 파라미터로 넘어가게 된다.
해당 포스팅은 아래의 강의를 공부 후 개인적으로 정리한 내용입니다.
잘 읽었습니다. 좋은 정보 감사드립니다.