У меня проблема с получением атрибутов после перенаправления на внешний URL. Я получаю значения атрибутов как NULL при перенаправлении на внешний URL, где, как если бы я поместил эти методы в том же веб-приложении, это работает.
Пожалуйста, предложите, что я делаю неправильно, или, если есть какой-либо способ, чтобы я мог передать атрибут в перенаправленный URL и использовать его.
Я не хочу, чтобы атрибуты отображались как Queryparams.
Пример кода приведен ниже.
// Контроллер в app1
@PostMapping("/redirect")
public RedirectView next(RedirectAttributes redirectAttributes, Model model, HttpServletResponse response, HttpServletRequest request) {
request.setAttribute("payment",new Payment("1","2","3"));
redirectAttributes.addAttribute("test", "test");
redirectAttributes.addFlashAttribute("message", "Successfully changed..");
redirectAttributes.addFlashAttribute("payment1",new Payment("1","2","3"));
request.setAttribute(
View.RESPONSE_STATUS_ATTRIBUTE, HttpStatus.TEMPORARY_REDIRECT);
RedirectView redirectView = new RedirectView("redirect:http://localhost:8085/redirectedPostToPost", true);
redirectView.addStaticAttribute("payment",new Payment("1","2","3"));
return redirectView;
}
// Контроллер приложения 2.
@PostMapping("/redirectedPostToPost")
public ModelAndView redirectedPostToPost(@ModelAttribute("message") String message,@ModelAttribute("payment") Payment payment,@ModelAttribute("payment1") Payment payment1, RedirectAttributes redirectAttributes,Model model, HttpServletResponse httpServletResponse, HttpServletRequest request, ModelAndView modelview) {
logger.info("in redirectedPostToPost:{} : modelview:{}", model, modelview.getModel());
Map<String, ?> inputFlashMap = RequestContextUtils.getInputFlashMap(request);
logger.info("flashmap:{}", inputFlashMap);
return new ModelAndView("about");
}
Благодарю вас, ребята, заранее.