如何使Jhipster网关REST请求微服务?

时间:2019-01-12 14:01:48

标签: rest microservices jhipster

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

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

我已经尝试过:

  • 使用后端网址在webpack.commons.js中配置SERVER_API_URL
  • 在我的网关/**/*.service.ts和backend / ** / web.rest。* Resource.java中将“ api /”更改为“ backend /”,但是我获得了{{{3 }}:找不到404”
  • 在我的proxy.conf.json中设置目标“ http://localhost:9000/backend/mois

我的代码在github上可用:

我使用mvnw命令启动了所有这些文件,并且一切正常:

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

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

我的问题是:

  • 如何配置网关以使其请求后端?我很困惑,因为我见过的所有tuto都不需要配置任何东西即可使工作正常...
  • 当后端必须处理它时,为什么网关中的import-jdl生成了java文件?如何使import-jdl仅生成前端文件?
  • 有没有一种方法可以基于已经生成的后端实体来生成网关实体?

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

非常感谢:-)

1 个答案:

答案 0 :(得分:0)

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

entity A
entity B

microservice * with backend

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