컨트롤러 내부에서 @Getmapping으로 요청을 보낸 후 홈페이지로 되돌아갈 때, return "redirect:/주소"를 쓰는데, 그냥 return view; 를 하면 될텐데 왜 redirect를 사용할 지 궁금했다.
차이점
- return view; 의 경우에는 단순히 해당 화면을 다시 띄워준다.
- return "redirect:/주소"; 의 경우 해당 주소로 다시 URL 요청을 한다. 이 과정에서 해당 URL에 속하는 컨트롤러 내부 함수가 다시한번 실행된다.
뿐만 아니라, redirect:/ 는 함수가 실행된 후 돌아간다는 재귀적 의미가 담겨있어 코드를 읽는데 있어서도 구분되는 장점이 있다.
redirect 시에 데이터를 넘겨주지는 못하기 때문에, 데이터를 같이 넘기기 위해서는 RedirectAttributes의 addFlashAttribute("key", data)를 사용하면 된다.
'Server > Spring' 카테고리의 다른 글
[Spring Cloud] SCG 서버가 Netty가 아닌 Tomcat으로 실행될 때 문제 해결 (2) | 2024.01.22 |
---|---|
[Spring] 스프링부트에서 출력되는 로그 레벨 변경하기 (0) | 2023.07.26 |
[Spring] 스프링 간단 개념 정리 (0) | 2023.07.07 |