작성
·
358
·
수정됨
0
addItemV6컨트롤러 내용중에,
redirectAttributes.addAttribute("itemId",savedItem.getId());
redirectAttributes.addAttribute("status",true);
return "redirect:/basic/items/{itemId};
이렇게 해주면, 리다이렉트된 URL로 HTTP GET메서드를 호출하는것이기 때문에, @GetMapping("/{itemId}") 컨트롤러가 동작해서 그에 맞는 뷰 템플릿을 호출해줌으로써 상품상세 화면이 노출되는것 같은데요.
여기서 질문드리자면,
"redirect:/basic/items/{itemId}“이지만, 실제 리다이렉트된 URL은 /basic/items/3?status=true 이런식으로 쿼리파라미터형식도 같이 붙게되서 GET /basic/items/3?status=true으로 요청을 보내게되는데, 어떻게 @GetMapping("/{itemId}") 컨트롤러가 동작하는것인가요?
답변 1
1
안녕하세요. gomdole03님, 공식 서포터즈 OMG입니다.
.
질문 내용은 어떻게 @GetMapping("/{itemId})로 쿼리 스트링을 추가한 요청을 처리할 수 있는지에 대한 것으로 이해하고 답변 드리면,
스프링 구현 코드에서 확인은 못하였고 스프링 공식 문서를 확인해보았는데
영한님이 강의에서 말씀하신 것처럼
redirect경로에 포함되지 않은 나머지 속성은 쿼리파라미터에 포함된다고 나와있네요
참고)
https://docs.spring.io/spring-framework/docs/current/reference/html/web.html#spring-web
.
감사합니다.