0

我有一个用 Spring boot 2.4V 开发的 springboot 应用程序。前端是 Angular JS 和 Angular 12.0 的混合。我们正在将 UI 从 Angular JS 迁移到 Angular 12.0。该应用程序已通过 keycloak 身份验证,包括 Angular 和 Spring Boot。

我们正在尝试 Angular JS 和 Angular 12.0 的共存。为此,将 Angular 12.0 代码添加到文件夹 /webapps/ROOT/beta/ 中

在尝试使用 URL http://localhost:9090/beta/index.html 访问应用程序时,Angular 12.0 添加了一个路由参数,因此浏览器上的目标 URL 是

http://localhost:9090/beta/index.html/home。

如果我在浏览器上进行刷新,结果响应是 404 page not found 错误。我可以通过在springboot中添加一个控制器来处理这个问题,如下所示

@Controller
  @RequestMapping(value = "/beta/index.html") 
  public class ViewController {
  
  @GetMapping({ "/home", "/design", "/execute"}) 
  public String index(HttpServletRequest request, HttpServletResponse response) {
  
      return "redirect:/beta/index.html";
  } 
}

但是这个修复的问题是,即使我在设计菜单上,URL 也是 http://localhost:9090/beta/index.html/design 并且在页面刷新时用户被重定向到主页 URL http://本地主机:9090/beta/index.html/home。

有人可以建议一个选项来处理这个吗?

我还尝试在 tomcat 9.0 服务器中添加重写规则,因为我们将应用程序部署为 WAR 文件 [WAR 中的 UI 和 Java 代码]。此修复对我们也不起作用。

4

0 回答 0