spring-mvc-RedirectAttributes
Related POST
intro
- 원래 잘 사용하고 있는 어플리케이션에 변경 요청 사항이 생김
addAttribute
로 끝내는 건줄 알고 까봤더니 마지막 view가 “redirect”접두어로 리다이렉트
- Redirect는 이전 요청이 끊어지고 새로운 GET 요청 시작
- 따라서 Redirect 실행 이전의 모델 데이터는 소멸하므로 모델전달은 의미가 없음
RedirectAttributes
- 스프링이 제공
- 모든 플래시 속성을 세션에 복사
- 리다이렉션 이후 저장된 플래시 속성을 세션에서 모델로 이동
RedirectAttributes의 2 메서드
addAttribute
addFlashAttribute
- 차이점
addAttribute
로 전달한 값은 GET의 URL의 쿼리스트링으로 붙으며 리프레시해도 유지됨
addFlashAttribute
전달값은 URL에 노출되지 않으며 리프레시 할 경우 데이터가 소멸(1회성)
마무리
- MockMvc에서
MockMvcResultMatchers.flash()
로 플래시를 받아와서 플래시 속성에 접근 가능