【问题标题】:jhipster jdl import with microservices使用微服务导入 jhipster jdl
【发布时间】:2018-01-10 02:26:22
【问题描述】:

我有一个 model.jdl,其中所有实体都定义为

entity A{ ... }
entity B{ ... }
entity C{ ... }
entity D{ ... }

我添加了一些选项来在微服务中分发这些实体,有时像这样:

microservice A,B with gateway 
microservice C with app1
microservice D with app2

当我在网关文件夹中运行“yo jhipster:import-jdl model.jdl”命令时,liquibase 的变更日志不包括实体 A 和 B。

如果我在应用程序文件夹中运行导入,liquibase 更改日志会显示所有实体,忽略已定义的分布

我在没有微服务选项的单一应用程序中测试了模型,并且运行良好...

这里是一个测试模型:

entity Car{
    name String required
    color Color
}

enum Color{
    BLACK,WHITE,BLUE,GREEN,YELLOW
}

entity House{
    address String required
}

entity Info{
    phone String required
}

relationship OneToOne{
    Info{user(login) required} to User
}

microservice Info with gateway
microservice Car with app1
microservice House with app2
search * with elasticsearch

【问题讨论】:

    标签: java microservices jhipster jdl


    【解决方案1】:

    您的问题在于with microservice gateway。这不是你认为的那样。

    microservice关键字实际上是用来提示生成器,后端文件应该在微服务上生成,相应的前端文件应该在网关上生成正确的“URL路径前缀”。这样,您可以为微服务和网关使用相同的 jdl 文件。在微服务上,关键字被忽略,但在网关上,它将阻止生成后端文件以及正确设置实体前端以调用/microservice/api

    您想要的只是在您的网关上生成一个常规实体,因此只需删除 with microservice gateway 行。

    如果您认为我们的文档在这方面需要改进,请向 JHipster/JHipster.github.io 提交 PR。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-26
    • 2023-03-14
    • 2017-10-21
    • 2021-08-26
    • 1970-01-01
    • 2018-01-02
    • 2016-11-22
    • 1970-01-01
    相关资源
    最近更新 更多