如何将Angular 4应用程序与Spring Boot堆栈集成?

2022-09-04 03:31:08

我想将Angular 4客户端应用程序与Java Spring应用程序集成,并提供一些Rest端点。我的目标是能够从这样的网址调用Angular应用程序。我该怎么做?http://localhost:8080/http://localhost:8080/adminisitration

提前致谢,


答案 1

您需要prod构建ng应用程序并将其放在spring-boot文件夹中:

  1. 在 Spring-boot 项目中的资源下创建一个公用文件夹

  2. ng build --prod,在有角度的项目上键入此命令,这将在角度项目目录下创建一个 dist 文件夹

  3. 从 dist 文件夹中复制文件,并将其放在 spring-boot 项目资源下的公用文件夹中。

这将帮助您在弹簧启动下运行角度应用程序。

然后打 http://localhost:8080/adminisitration,它应该工作正常


答案 2

首先有两种方式,即您将来自 spring boot 应用程序的 angular 应用程序作为静态资源提供,因此您需要将其打包到 jar 中,当您有两个不同的前端和后端存储库并且从维护角度来看看起来并不好时,这并不容易。

其次,您在nginx上拥有有角度的静态资源,并且spring boot应用程序可以访问nginx上配置的角度通过反向代理,例如

location /api/ {
    proxy_pass http://localhost:8080/api/;
}

因此,当angular要求它转发时,它会将其转发到GET http://localhost/api/somerestGET http://localhost:8080/api/somerest