return "redirect:/"과 return view 의 차이점

misonaru·2023년 9월 25일

컨트롤러에서 @Getmapping으로 요청을 보낸 후 url 반환할 때
return "redirect:/주소" 와
return view의 차이점, 사용 이유가 궁금했다.

차이점

return view; 의 경우에는 단순히 해당 화면을 다시 띄워준다.

return "redirect:/주소"; 의 경우 해당 주소로 다시 URL 요청을 한다.

이 과정에서 해당 URL에 속하는 컨트롤러 내부 함수가 다시한번 실행된다.
뿐만 아니라, redirect:/ 는 함수가 실행된 후 돌아간다는 재귀적 의미가 담겨있어 코드를 읽는데 있어서도 구분되는 장점이 있다.

redirect 시에 데이터를 넘겨주지는 못하기 때문에, 데이터를 같이 넘기기 위해서는 RedirectAttributes의 addFlashAttribute("key", data)를 사용하면 된다.

profile
미소와 나루 집사

0개의 댓글