Spring Framework

Spring Boot Request 파라미터 숨기기

sebastiano 2025. 2. 15. 20:47

 

RedirectAttributes는 FlashAttributes를 내부적으로 사용하여 리다이렉트 후에도 데이터를 유지할 수 있도록 합니다. 이를 활용하여 데이터를 전달하고 조회하는 예제는 다음과 같습니다.

 

 

Controller RedirectAttributes

Controller 에서 RedirectAttributes 로 데이터 전달

@Controller
@RequestMapping("/example")
public class ExampleController {

    @GetMapping("/redirect")
    public String redirectWithAttributes(RedirectAttributes redirectAttr) {
        redirectAttr.addFlashAttribute("message", "리다이렉트 성공!");
        redirectAttr.addFlashAttribute("status", "success");
        return "redirect:/example/target";
    }

    @GetMapping("/target")
    public String targetPage(@ModelAttribute("message") String message,
                             @ModelAttribute("status") String status,
                             Model model) {
        model.addAttribute("receivedMessage", message);
        model.addAttribute("receivedStatus", status);
        return "target"; // target.ftl 또는 target.html
    }
}

 

 

실행 흐름

  1. "/example/redirect" 로 요청하면 "redirectAttr" 을 통해 "message" 와 "status" 값을 설정하고 "/example/target" 으로 리다이렉트
  2. "/example/target" 에서 "@ModelAttribute"를 사용하여 전달된 값을 조회 한 후 view 에서 값 출력

 

 

View ftl 에서 조회

<!DOCTYPE html>
<html>
<head>
    <title>Redirect Target</title>
</head>
<body>
    <h1>Redirect 결과</h1>
    <p>Message: ${receivedMessage}</p>
    <p>Status: ${receivedStatus}</p>
</body>
</html>