Spring MVC 핸들러 메소드 RedirectAttributes
Spring Web MVC
백기선님의 강의인 Spring Web MVC 강의를 듣고 공부한 내용을 정리한 글
RedirectAttributes
RedirectAttributes는 리다이렉트할 때 기본적으로 모델에 들어있는 primitive type은 URI에 자동으로 쿼리파라미터로 추가가 된다.
그런데 이 기능이 스프링 부트에서는 비활성화 되어 있다.
만약 리다이렉트할 때 모델 중 특정한 값들만 전송하고 싶은 경우가 있을 수 있다.
이때는 Model 대신에 RedirectAttributes를 사용하면 된다.
RedirectAttributes에 명시한 값들만 리다이렉트할 때 URI에 전달이 된다.
받는 쪽은 @PathVariable로 하나씩 받아도 좋고, 객체에 받고 싶은 경우라면 @ModelAttribute 복합 객체로 받아도 된다.
다만 유의할 점은 @ModelAttribute를 받는 쪽에서 , @SessionAttributes에서 설정한 이름과 같은 이름으로 설정하면 안된다.
왜냐하면 @SessionAttributes에서 해당하는 값을 찾아보려고 시도할 수도 있기 때문이다.
그래서 이 경우 @ModelAttribute의 이름을 별도로 설정해서 바인딩할 수 있다.
Reference
인프런 백기선님의 스프링 Web MVC