我有一个项目,Spring Boot作为后端,Angular作为前端。我打包的方式是,我构建angular项目,并将内容复制到Spring Boot资源文件夹中,在我的Spring Boot控制器中,我返回angular生成的index.html。
@Controller
public class IndexController {
@Autowired
ISupportedLanguagesRepository is;
@RequestMapping(value={ "/", ""})
public String getIndex() {
return "index.html";
}
}
所有其他控制器都是对后端的RESTapi调用。当我分别运行SpringBoot和Angular项目时,所有的路由都能很好地工作。
但是,当我将它们打包在一起时,只有当所有导航都通过应用程序完成时,路由才能工作。但当我直接尝试获取url时,它会给我这个
白标签错误页面
此应用程序没有/error的显式映射,因此您看到这是一个后备方案。
但当我从应用程序转到此路由时,它就起作用了。
如何解决此问题?即使在任何页面上点击刷新也会出现同样的错误。
正如dirk所提到的,这个问题是通过在路由中使用{useHash:true}来解决的