从Spring Boot加载多个Angular项目 - java

我有一个Spring Boot应用程序,并且有两个完全独立的角度项目。
最终用户的一个项目,管理员的另一个项目。
出于业务原因,我被迫将两者都作为两个不同的项目。我希望将这两个项目打包到相同的WAR中,并且当用户点击最终用户的URL时,应加载最终用户的角度应用程序,并且在访问管理URL时,应加载管理角度的项目。

我知道Spring Boot从/public/static目录加载角度项目。但是,由于在我的情况下,我有两个不同的项目,所以我不能将它们放在同一文件夹下,因为它们都有许多共同的文件名,包括index.html。

到目前为止,我已经执行了以下操作:

"public"下创建了两个不同的文件夹,分别为"enduser"
"manage"
创建一个具有两种方法的控制器:

@Controller


public class SampleController {

@RequestMapping(method = RequestMethod.GET, produces = "text/html", value
        = "/enduser")
public String enduser() {
    return "/enduser/index.html";
}

@RequestMapping(method = RequestMethod.GET, produces = "text/html", value
        = "/admin")
public String admin() {
    return "/admin/index.html";
}
}

但是,当我这样做时,只会加载index.html文件,而不会加载其他组件(这意味着整个角项目都不会加载)。因此,不会加载相关视图和样式等。

有人对如何处理上述情况有想法吗?谢谢。

参考方案

通过以下方式解决了它:

创建一个MVC控制器,为每个URL模式添加两种不同的方法,将每个项目的dist文件复制到静态文件夹下的一个单独的文件夹中,为每个项目添加一个不同的标签,这样您的角度项目就无法在grunt服务上工作。当您在grunt serve上运行时,必须将url设置为空,并且仅在进行构建时才将其设置为一个值。

从Spring Boot Application检查Keycloak中的密码是否有效 - java

我的用户已经使用有效的令牌登录,但是在一些重要的操作(如确认或取消付费订阅)中,我希望它与其他数据一起发送密码,以便服务器对其进行验证。到目前为止,我的应用程序已将用户存储在数据库中,并且以这种方式进行开发很容易。如何检查用户正确发送的密码?我需要尝试在后端使用用户名和密码登录吗? 参考方案 您的后端应该已经设置为Keycloak客户端,以便它可以传递令牌进…

Java:“自动装配”继承与依赖注入 - java

Improve this question 我通常以常见的简单形式使用Spring框架: 控制器服务存储库通常,我会在CommonService类中放一个通用服务,并使所有其他服务扩展到类中。一个开发人员告诉我,最好在每个服务中插入CommonClass而不是使用继承。我的问题是,有一个方法比另一个更好吗? JVM或性能是否会受到另一个影响?更新资料Comm…

Spring Data Cassandra的事务管理 - java

我正在使用Spring和Cassandra作为基础数据库。曾提到过弹簧伞项目“ spring data cassandra”。与休眠不同,在这里无法找到如何管理事务。如果您中的某些人已经合并,请共享要包含的事务管理器的详细信息。 参考方案 Cassandra不支持传统(ACID)的事务。在某些特殊情况下,可以通过一些构造来实现事务原子性,例如原子批处理(请参…

注解中的Spring属性值 - java

如何获取注释内的属性值。例如我有一个注释@GetMyValue(value1="Val1",intVal=10) 现在,我希望“ Val1”和10来自属性文件。我试过了@GetMyValue(value1="${test.value}",intVal="${test.int.value}") 这不起…

Spring Boot如何在POST之后返回响应 - java

我想创建一个新客户并在创建客户后返回客户编号。客户编号必须是从50000开始的自动递增的唯一编号。到目前为止,我已经成功创建了一个客户,但是我不确定应该如何生成客户编号,将其保存到数据库中,并在触发POST时将其作为成功消息显示给用户。json下面是所需的响应;{ "customerNumber": "50002", …