【问题标题】:How to make the Jhipster gateway REST requests the microservice?如何让 Jhipster 网关 REST 请求微服务?
【发布时间】:2019-06-07 04:30:51
【问题描述】:

为了学习很棒的 JHipster 框架,我正在尝试实现一个简单的 jhipster 微服务架构,以便让网关 REST 请求微服务,而微服务请求数据库。

首先,我生成一个微服务应用程序(后端端口 8081)、一个微服务网关(前端端口 8080)并克隆 jhipster 注册表。其次,我在微服务和网关中都导入了相同的 jdl。我已经实现了一个 AppLoading 组件来在后端填充数据库。

我已经尝试过:

  • 在 webpack.commons.js 中使用后端 url 配置 SERVER_API_URL
  • 在我的网关/**/*.service.ts 和后端/**/web.rest.*Resource.java 中将“api/”更改为“backend/”,但我得到“http://localhost:9000/backend/mois 的 Http 失败响应: 404 未找到”
  • 在我的 proxy.conf.json 中设置目标“http://localhost:8081

我的代码在 github 上可用:

我启动了所有这些(使用 mvnw 命令),一切似乎都正常:

  • 注册表知道后端和前端
  • 网关知道后端
  • 后端的数据库已正确填充

但是,网关中没有可用的后端数据。网关与其 owm h2 数据库端口 8080 通信,并且不对拥有我的数据的后端进行 REST 请求!

我的问题是:

  • 如何配置网关以使其请求后端?我很困惑,因为我见过的所有 tuto 都不需要配置任何东西来使事情正常进行......
  • 为什么我的网关中有 import-jdl 生成的 java 文件,而这是必须处理的后端?如何让import-jdl只生成front文件?
  • 有没有办法根据已经生成的后端实体生成网关实体?

我试图提供所有必要的信息,但问我是否缺少某些东西。

非常感谢:-)

【问题讨论】:

  • 您可以像medium.com/@deepu105/…那样在一个JDL中定义和创建所有应用程序,也可以使用网关上的实体子生成器。

标签: rest microservices jhipster


【解决方案1】:

您需要在 JDL 中指定 microservice 名称。目前,您在网关和微服务中都生成了实体。当您指定微服务名称时,网关将只生成前端代码。这是一个例子:

entity A
entity B

microservice * with backend

https://www.jhipster.tech/jdl/#microserviceoptions

【讨论】:

    猜你喜欢
    • 2020-04-20
    • 1970-01-01
    • 2018-12-10
    • 2020-11-12
    • 2019-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    相关资源
    最近更新 更多