公开 jhipster 微服务客户端 类

expose jhipster microservice client classes

我有两个用 jhipster 创建的微服务。 (ms1 和 ms2)

我已经使用AuthorizedFeignClient在两个微服务之间进行通信

ms1 有一些 DTO 类,用作 REST APIs 的输入和输出 类。

从 ms2 我需要调用 ms1 的一些 API,因此我需要那些 DTO 类(POJO) 作为输入和输出数据。

这些DTO类在ms2中显然是没有的

所以我目前有两个选择:

1) 将 DTO 类 从 ms1 复制到 ms2

2) 将 ms1 作为 maven 依赖项导入 ms2

方法 1 - 看似简单,但会有重复代码。

方法 2 - ms1 和 ms2 都打包为 war 文件而不是 jar 文件。包含整个 war 文件只是为了使用一些 类.

看起来不太好

我应该采取哪些其他方法来将这些 DTO 类 从 ms1 获取到 ms2?

如果你搜索微服务架构,你会发现很多人建议微服务之间不要共享任何东西,因为你希望能够尽可能独立地发展它们。这意味着您的方法 1 是首选,您可以添加第三种方法,即从 swagger JSON spec 生成 REST 客户端代码。 JHipster 有一个模块可以这样做:https://github.com/cbornet/generator-jhipster-swagger-cli

服务之间的通信通常也是需要仔细考虑的事情,这可能表明您的服务边界是错误的。