Ant*_*pin 6 spring-boot angular angular4-router
我已经构建了一个包括 Angluar5 的 Springboot 应用程序。我有一个 gradle 构建脚本,它将角度文件加载到我的 springboot 项目中。这些文件位于我的 springboot 项目的资源/静态下。当我启动我的应用程序时,angular 的路由不再起作用,我得到
错误:无法匹配任何路由。URL 段:'访问'
我的项目结构:
我使用以下语句部署了我的 angular 应用程序:
ng build --deploy-url=BeatAcknowledgeTest --op=../backend/src/main/resources/static
这将使我的静态文件可以通过以下链接访问:
www.mySite.com/BeatAcknowledgeTest/...
如果我输入
www.mySite.com/BeatAcknowledgeTest/access
页面呈现,一切都很好,但是当我在另一个组件中时,例如
www.mySite.com/BeatAcknowledgeTest/home
然后我点击一个按钮,将我路由到
www.mySite.com/BeatAcknowledgeTest/access
我收到一个错误,我的应用程序没有重定向。
有什么建议?
我通过在我的应用程序中创建 RequestForwardingController 解决了这个问题。它将处理所有路由:
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class RequestForwardingController {
@RequestMapping(value = "/**/{[path:[^\\.]*}")
public String redirect() {
// Forward to home page so that angular routing is preserved.
return "forward:/";
}
}
Run Code Online (Sandbox Code Playgroud)
它还解决了重新加载 URL 问题。单击浏览器的重新加载按钮,它将显示 Spring boot 错误页面。
| 归档时间: |
|
| 查看次数: |
3385 次 |
| 最近记录: |