PRG패턴 Post/Redirect/Get

SHByun·2023년 1월 26일
0

강의 chap7-1


PRG패턴 Post/Redirect/Get

1. 문제

  • 상품을 등록하고 새로고침을 누르면 중복해서 상품이 계속 등록된다.

  • 현재 흐름


    -- 상품 등록 버튼을 누르면 post로 add를 호출한다. 그 후 결과물이 post로 남아있다.
    -- 마지막으로 요청한 것은 POST/add 이다.
    -- 그 결과 새로고침을 하면 마지막 요청이 반복되므로 id만 증가하고 중복된 상품이 등록된다.
    -- 웹 브라우저의 새로 고침은 마지막에 서버에 전송한 데이터를 다시 전송한다.

2. POST, Redirect GET(PRG)

  • Redirect를 걸어서 상품 상세로 걸어준다.
@PostMapping("/add")
public String addItemV5(Item item) {

    itemRepository.save(item);
    return "redirect:/basic/items/" + item.getId();
}
  • redirect에서 +item.getId()처럼 URL에 변수를더해서 사용하는 것은 URL 인코딩이 안되기 때문에 위험하다.
    -> Redirectattributes를 사용한다.

출처

인프런 강의 - 김영한
스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-mvc-1/dashboard

profile
안녕하세요

0개의 댓글