在Sprint Boot百里香应用程序中如何在不更改URL的情况下重定向?

时间:2018-11-27 10:54:42

标签: spring-boot

我有基于Spring Boot 2.0 thyemeleaf / spring react的Web应用程序。我在控制器中有以下代码:

Mono.just("redirect:/error/404");

如果不良用户输入了无效的查询字符串参数,则会运行哪个。重定向工作正常,但URL更改为:

/error/404

而不是保留原始用户输入的网址

/home?gp=badvalue

如何在将原始URL保留在浏览器地址栏中的同时进行重定向?

请注意,此Web应用程序将在嵌入式Servlet容器(在本例中为Netty)中运行。

1 个答案:

答案 0 :(得分:1)

使用重定向redirect:/error/404,服务器将在Location标头中以302和新URL进行响应;然后浏览器/客户端将再次请求新的URL。

尝试使用转发:

return new ModelAndView("forward:/redirectedUrl", model);
  

转发完全在服务器端进行; Servlet容器将相同的请求转发到目标URL;该网址不会更改   浏览器

here中的引用