我的应用程序由 2 个模块组成:Angular 5 uimodule
和 Spring Boot REST servermodule
。我正在使用 frontend-maven-plugin
构建 uimodule
并将其资源文件复制到 META-INF/resources
文件夹中以帮助 Spring Boot发现他们。因此,这两个模块在同一域中运行(http://localhost:8080
)。
现在我正在努力实现此工作流程的第 3 点:
1-用户在应用程序中注册(uimodule
将用户的数据发布到服务器)
2-收到数据后,服务器模块
向用户发送一封包含验证链接的验证邮件。
3-当用户单击链接时,服务器会验证用户并应将其重定向到登录页面。
/login
路由已存在于 uimodule
中。现在我的问题是:
如何将用户从服务器端重定向到登录路由?
我尝试过这个,但不起作用:
@Controller
@RequestMapping( "/activate" )
public class ActivationController {
@GetMapping
public String activate() {
return "redirect:/login";
}
}
当我单击定义的登录按钮(在 index.html
中)时,相同的路由(http://localhost:8080/login
)可以工作,但不能当它来自服务器或我手动编写时可以工作(我收到 404 错误)
救命!
最佳答案
服务器不知道该网址,您必须将其重定向到您的 Angular 主页,您需要一个映射该网址的 Controller
@RequestMapping(value = "/login")
public String redirect() {
return "index";
}
其中索引是您的 Angular 页面
关于angular - 使用 Spring Boot 从服务器端重定向到 Angular 路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49723653/