我花了不少时间努力让弹簧靴提供我的角度屏幕,同时也为我们的后端服务。我承认我对春季/运动衫领域很陌生,所以我可能不会问正确的问题或者正确的搜索。
与这篇文章类似Spring Boot - How To Serve Angular2 Compiled Files我有一些编译的角度屏幕,以及一些我希望在单个jar文件中运行的其他端点。我试过那篇SO文章中的例子,但没有运气。
只要我不包含JerseyConfig类,我就可以使用单个index.html文件
@Component
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
register(WorkflowManagementResourceV1_0.class);
}
}
但是当我删除JerseyConfig时,我的端点不再启用了。
我也从来没有设法让编译好的Angular屏幕出现在Spring内部。
我已尝试将资源/资源/资源/公共/网络应用/资源等放入其中。
我会很乐意添加更多内容和细节,但首先我很好奇这是否还有可能(我认为是)。第二是是否需要进行某种配置,pom依赖或自动配置才能启用此功能?
我也尝试将@Controller添加到我的主应用程序
@SpringBootApplication
@Controller
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
答案 0 :(得分:1)
我有类似的问题,发现以下文章非常有用:
https://www.geekmj.org/jersey/spring-boot-jersey-static-web-files-support-403/
基本上,泽西岛正在接管所有请求。本文中描述的方法是将Jersey配置为转发404。由于对静态内容的请求是对泽西岛的404,它将转发它,它将由底层系统自动处理。
如果您还没有Spring依赖项,请添加它:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
在application.properties中,配置Jersey过滤器:
spring.jersey.type=filter
最后,配置Jersey以在JerseyConfig中转发404:
@Component
public class JerseyConfig extends ResourceConfig {
public JerseyConfig() {
register(WorkflowManagementResourceV1_0.class);
// set jersey to pass 404's to the underlying system (this makes the screens work)
property(ServletProperties.FILTER_FORWARD_ON_404, true);
}
}
毕竟,您的静态内容应该可用!