在弹簧靴和平针织后端内运行编译的角度屏幕

时间:2018-02-28 21:03:27

标签: angular spring-boot

我花了不少时间努力让弹簧靴提供我的角度屏幕,同时也为我们的后端服务。我承认我对春季/运动衫领域很陌生,所以我可能不会问正确的问题或者正确的搜索。

与这篇文章类似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);
   }
}

1 个答案:

答案 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);
   }
}

毕竟,您的静态内容应该可用!