반응형
RedirectAttributes와 Model은 스프링 프레임워크에서 데이터를 처리하고 뷰로 전달하는 방식에 따라 각각 다른 역할을 수행합니다. 이 두 개념은 주로 웹 애플리케이션에서 요청 처리 후 데이터를 어떻게 전달할지를 결정하는 데 사용됩니다.
RedirectAttributes
- 목적: RedirectAttributes는 리다이렉트를 통해 다른 요청으로 데이터를 전달하는 데 사용됩니다. 주로 POST 요청 후 GET 요청으로 리다이렉트할 때 유용합니다.
- 특징:
- 리다이렉트 후에 전달할 속성을 추가할 수 있으며, 이때 추가된 속성은 쿼리 문자열(Query String)로 변환됩니다.
addAttributes()
메서드를 사용하여 문자열 형식의 데이터를 추가할 수 있습니다.addFlashAttribute()
메서드는 데이터를HttpSession
에 저장하여 다음 요청에서 사용할 수 있게 하며, 사용 후 자동으로 삭제됩니다. 이러한 특성 덕분에 페이지 새로 고침 시 데이터가 소실됩니다.
Model
- 목적: Model은 컨트롤러에서 뷰로 데이터를 전달하기 위해 사용됩니다. 주로 GET 요청에 대한 처리에서 사용되며, 데이터를 뷰에 바인딩하는 데 쓰입니다.
- 특징:
- 메서드의 매개변수로 사용하거나 메서드 레벨에서 선언하여 해당 컨트롤러의 모든 요청에 대해 일관된 데이터를 추가할 수 있습니다.
Model
에 추가된 데이터는 뷰에서 직접 사용됩니다.
요약
- RedirectAttributes는 리다이렉트 시 데이터를 전달하는 데 초점을 맞추고 있으며, 주로 POST 후에 사용됩니다. 전달된 데이터는 쿼리 문자열로 변환되어 URL에 포함되거나 세션에 저장됩니다.
- Model은 뷰에 직접 데이터를 전달하기 위해 사용되며, GET 요청에 주로 사용됩니다.
Spring - RedirectAttributes(잘못된 부분 많음)
Spring - RedirectAttributes(잘못된 부분 많음)
문제 전반적인 redirect를 생각하는 과정에서 생긴 문제다. 이전 프로젝트 때도 redirect를 해야하는 상황에서 내가 넣고 싶은 부분을 넣는 과정에서 노출하기 싫은 정보들을 숨기거나 코드 자체를
velog.io
이 두 객체는 서로 보완적인 역할을 하며, 스프링 웹 애플리케이션의 다양한 요구 사항을 충족하는 데 중요한 요소입니다.
반응형