我有一个 spring boot 应用程序,用于在我的static [resources / static]文件夹中提供角度资源。我也使用相同的项目来提供我的JSON-REST-API端点。
因此我在localhost下定义了我的REST api:9090 / api / ... 我的Angular2 app-build在localhost:9090 / ui / ...下通过静态资源提供
现在我想把我所有的ui / **网址转发给ui / index.html / ** 我该怎么做?
P.S。我已经介绍了一个自定义静态资源url模式
spring.mvc.static-path-pattern=/ui/**
然后我所有的ui / **请求将查看静态/ **
这样我就可以保护我的/ api / **和“permitAll”ui / **请求
答案 0 :(得分:0)
这个简单的配置可以解决问题,如果启用,甚至会以角度2刷新#个路径。
@Configuration
public class WebMvcConfiguration extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/ui").setViewName("forward:/ui/index.html");
registry.addViewController("/ui/").setViewName("forward:/ui/index.html");
registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
}
}
指针:
- 应该在运行Spring启动应用程序的地方注释@SpringBootApplication
- 没有@EnableWebMvc,因为这会破坏spring boot完成的所有自动配置
- 查看此配置是否在您标记为
的目录下
@ComponentScan({ “com.foo.config”})
- 此实现专门针对您定制了spring.mvc.static-path-pattern的情况[ui /]