Spring Controller重定向之间缺少响应

时间:2018-12-07 10:41:16

标签: spring-mvc spring-boot spring-data-jpa spring-rest spring-session

在启用Spring Boot MVC的项目中,存在从POST控制器到GET控制器方法的重定向。

@RequestMapping(value = ..., method = RequestMethod.POST...)
public String updateOrganiser(@Valid Object1 object1, BindingResult    bindingResult, RedirectAttributes redirectAttributes) {
...

Response<X> response = new Response<>();
    response.setData(object1);
    redirectAttributes.addAttribute("ID", object1.getId());
    redirectAttributes.addFlashAttribute(String.valueOf(object1.getId()), response);

...

return URLConstants.Redirects.QUOTE; // Redirection to following Controller method

}

@RequestMapping(value = ..., method = RequestMethod.GET)
public String getPage(Model model, @RequestParam ...) {

 boolean policyCantCreate = getQuote(model, sourcePhone, destinationPhone, quoteId);

...

}

但是系统中存在一种方案,可以公开第三方服务并从该服务获得响应。 在某些情况下(例如,外部服务的会话超时(或无效的会话)),以下情况(不使用最新数据更新前端)在系统中发生在上述两种控制器方法之间。 调试显示,在这些情况下,GET控制器接收到了先前的模型数据,而不是来自前端表单的最新更新数据。对于前端,Thymleaf使用了没有模板缓存的方法。 我需要澄清这种情况,以及为什么预期的路径不起作用。

Update Scenario

(请考虑将方案的幕布显示为更新。) 谢谢。

0 个答案:

没有答案