我有MainRedirectController
,所有请求和响应都将从此控制器重定向。如何将mainRedirect
方法的请求参数发送到page1
方法,并将响应参数从page1
方法发送到mainRedirect
方法?
public class MainRedirectController{
public ModelAndView mainRedirect(HttpServletRequest request, HttpServletResponse response) {
String page = ServletRequestUtils.getStringParameter(request, "page", null);
if(page.equals("page1")){
//redirect request to page1 controller and
//return reponse coming from page1 controller
}else if(....){
...
}
}
}
public class Page1Controller{
public ModelAndView page1(HttpServletRequest request, HttpServletResponse response) {
response.getOutputStream().print("{\"completed\": \"1\"}");
response.getOutputStream().flush();
return null;
}
}
答案 0 :(得分:2)
您需要返回"重定向:"查看该页面。 只需将其用作构造函数参数:
if(page.equals("page1")){
return new ModelAndView("redirect:/page1MappingValue")
}
page1MappingValue这里是page1的地址,具体取决于映射。
您可以在此处详细了解重定向:
http://www.baeldung.com/spring-redirect-and-forward
此外,如果您需要在方法内部获得响应并且您不需要直接返回它,您可以使用RestTemplate-s:
https://spring.io/guides/gs/consuming-rest/
它将允许您获得响应并在逻辑内的后端使用它。