我相信这是一个简单的问题,但我找不到答案,或者至少在搜索中使用了正确的术语.

我将同时设置Angular2Springboot.默认情况下,Angular将使用localhost:8080\dashboardlocalhost:8080\dashboard\detail这样的路径.

如果可能的话,我希望避免使用path作为哈希.documentation个州:

路由的ProvideRouter功能将LocationStrategy设置为PathLocationStrategy,使其成为默认策略.如果愿意,我们可以在 bootstrap 过程中切换到具有覆盖的HashLocationStrategy.

然后...

几乎所有的Angular 2项目都应该使用默认的HTML5样式.它生成用户更容易理解的URL.并且它保留了稍后进行服务器端渲染的选项.

问题是,当我try 访问localhost:8080\dashboard时,Spring会寻找一些控制器映射到此路径,而它没有.

Whitelabel Error Page
There was an unexpected error (type=Not Found, status=404).
No message available

我最初的 idea 是让我所有的服务低于localhost:8080\api,所有的静态服务低于localhost:8080\app.但我如何告诉Spring忽略对这条路径的请求呢?

Angular2或Boot有更好的解决方案吗?

推荐答案

我为您提供了一个解决方案,您可以添加一个ViewController来将请求从Spring bootstrap 转发到ANGING.

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class ViewController {

@RequestMapping({ "/bikes", "/milages", "/gallery", "/tracks", "/tracks/{id:\\w+}", "/location", "/about", "/tests","/tests/new","/tests/**","/questions","/answers" })
   public String index() {
       return "forward:/index.html";
   }
}

在这里,我已经将我所有的angular2("/bikes"、"/milages"、"/gallery"、"/tracks/{id:\w+}"、"/location"、"/about"、"/tests"、"/tests/new"、"/tests/**"、"/questions"、"/answers")重定向到我的SPA

Angular相关问答推荐

Swiper 11角17 SSR Swiper断点不工作

在Angular 17独立模式下,如何使用Swiper 11.0.5版使Bootstrap下拉菜单在Swiper元素外部可见

使用BLOB数据类型时,HTTPCLIENT中可能存在错误

Angular 16模块中未使用的组件是否从Bundle 包中删除(树摇动)?

出错后可观察到的重用

当快速拖动光标时会丢失元素 - Angular

升级到 Webpack 5.79.0 后 NX Angular 项目构建失败

根据最后发出的 observable 创建一个 observable

如何根据响应变化更改 Angular Carousel 的cellsToShow

带有重定向的Angular 2 AuthGuard服务?

如何 use/import http模块?

如何在 Angular 5 HttpInterceptor 中添加多个标头

Observable.forkJoin 和数组参数

模块AppModule导入的意外指令LoginComponent,请添加@NgModule 注释

MatToolbar 与 Angular 9 一起使用时抛出错误

Angular 应用程序中的语法错误:Unexpected token <

如何防止角material垫菜单关闭?

动态添加/删除验证器

Angular 4 material表突出显示一行

Angular 应用程序必须在新部署后清除缓存