gpt4 book ai didi

java - 如何从 Spring Controller 重定向?

转载 作者:行者123 更新时间:2023-11-30 02:30:40 32 4
gpt4 key购买 nike

我有一个MainRedirectController,所有请求和响应都将从该 Controller 重定向。如何将请求参数从 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;
}
}

最佳答案

您需要将“redirect:” View 返回到该页面。只需将其用作构造函数参数即可:

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/

它将允许您获得响应并在逻辑的后端使用它。

关于java - 如何从 Spring Controller 重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44362899/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com