我创建了一个Spring项目,它包含了角6(前端)和Kotlin/Java (后端)。我遵循JavaSampleApproach教程 (除了使用Gradle而不是Maven )。
在角度上,我跟踪了角导轨。我就是这样设置路线的:
const routes: Routes = [
{path: 'clients', component: ClientsComponent},
{path: 'scopes', component: ScopesComponent},
{path: 'identity-providers', component: IdentityProvidersComponent},
{path: 'diagnostics', component: DiagnosticsComponent},
{path: '', redirectTo: '/clients', pathMatch: 'full'}
];从那里开始,我首先在端口8080上运行ng serve,它运行得非常完美。
然后,我运行ng build --prod,它将其构建到Spring项目文件夹中。
在我的ViewController目录中,我创建了一个基于@AndroidLover的回应的@AndroidLover的回应类
package com.example.platformadmintool
import org.springframework.web.bind.annotation.RequestMapping
import org.springframework.web.bind.annotation.RestController
@RestController
class ViewController {
@RequestMapping("/clients", "/scopes", "/identity-providers", "/diagnostics")
fun routing() : String {
return "forward:/index.html"
}
}(我确实理解@AndroidLover的回应是针对角度2的。)
当我运行gradle命令clean build bootRun时,当我输入"http://localhost:8080“时,首页将加载。通过单击navs,我能够清晰地遍历"http://localhost:8080/diagnostics“和其他页面。
但是,如果我显式地键入路由,如"http://localhost:8080/clients",则显示的所有页面都是文本形式的forward:/index.html。
显然,错误在我的请求映射中。我猜想这与我返回一个字符串有关,但大多数在线解决方案似乎都使用forward:/index.html。
我不太熟悉Spring,并将它与角6集成在一起。我如何配置我的路径以在Spring中工作?
编辑:相似问题
发布于 2018-07-13 21:41:58
在我看来,像*.js或*.css这样的静态文件是有问题的。尝试在浏览器中打开开发工具(Chrome中的F12),并在询问静态文件时检查哪些文件发送给您的面包店。您的应用程序很可能总是返回index.html、instesd、*.js或*.css。您必须配置Java应用程序,使其在GET请求URL包含“”的情况下返回静态文件。例如(java代码):
@RequestMapping(value = "/**/{[path:[^\\.]*}", method = RequestMethod.GET)
public String redirect() {
return "forward:/";
}https://stackoverflow.com/questions/51332804
复制相似问题