java - jhipster jdl 与微服务导入

标签 java microservices jhipster jdl

我有一个 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

最佳答案

您的问题在于微服务网关。这并没有按照您的想法进行。

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

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

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

关于java - jhipster jdl 与微服务导入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45467995/

相关文章:

java - Feign Client 从 Jhipster UAA 到微服务网关应用程序

java - Java 中的线程作业

java - Spring 表单验证错误 : java. lang.IllegalArgumentException: 'items' must not be null

Java QuickSort 最佳案例数组生成

rest - 微服务认证

java - 如何在 Spring Boot 中从 UI 服务消费登录服务?

java - 当使用回收器 View 和 View 模型获取数据时,映射器函数返回空值

java - spring-data-rest 和微服务 : Entity with @OneToOne relationship with Entity in another spring-data-rest service

jwt - Jhipster - 如何管理 jwt 撤销?

JHipster 编辑蓝图