当前位置: 首页 > 知识库问答 >
问题:

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

贲俊才
2023-03-14

为了学习令人敬畏的JHipster框架,我试图实现一个简单的JHipster微服务架构,以便让网关REST请求微服务,而微服务请求数据库。

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

我已经试过了:

  • 使用后端URL在webpack.commons.js中配置SERVER_API_URL
  • 在我的网关/**/*.service.ts和backend/**/web.rest.*resource.java中将“api/”更改为“backend/”,但我获得了“http failure response for http://localhost:9000/backend/mois:404 Not found”
  • 在my proxy.conf.json中设置目标“http://localhost:8081”

我的代码可以在GitHub上找到:

  • https://github.com/syncrase/backend
  • https://github.com/syncrase/gateway

我启动了所有这些命令(使用mvnw命令),看起来一切正常:

    null
    null

我试图提供所有必要的信息,但问我是否缺少什么。

多谢:-)

共有1个答案

酆阳煦
2023-03-14

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

entity A
entity B

microservice * with backend

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

 类似资料:
  • 我有一个jhipster微顶和网关应用程序设置。它是我正在尝试构建的搜索应用程序。为此,我不需要对每个请求的用户进行身份验证。 因此,为此,我尝试将以下行添加到gate wayApp的securityConfiguration。 但是我得到一条例外消息: 我尝试使用,其中fruitservicev1是我的服务应用程序的名称。 我还尝试在服务应用程序的MicroserviceSecurityConf

  • 但我在普罗米修斯控制台收到: level=warn ts=2019-08-06t08:25:36.643z caller=scrape.go:937 component=“scrape manager”scrape_pool=Prometheus target=http://localhost:4567/hello msg=“append failed”err=“\”invalid\“不是有效的启

  • 假设我在同一台机器上有两个docker网络。(网络1和网络2) 在每个网络上,我都有容器。(容器-1-网络-1和容器-1-网络-2等) 我需要从Container-1(172.18.0. x)向Container-2(172.19.0. x)发送PUT请求,但我收到“连接拒绝”,因为不同的网络无法相互通信。我在这里有什么选择?我可以将一个容器移动到另一个网络,或将网络合并到一个或以某种方式链接容器

  • 我在JUnit中使用Mockito,并且我有一个使用RestTemboard向微服务发出请求的方法。 此方法返回一个JSON对象,该对象将在TokenRequestorPayload类中反序列化。 当我执行单元测试时,它们会失败,因为mock不起作用,我得到了一个org.springframework.web.client.ResourceAccessExcure。我怎么能嘲笑我的RestTem板

  • 我有一个使用ZuulNetflix作为API网关的应用程序,架构如下: 该架构运行良好,使用浏览器和邮递员我可以从微服务(服务1、2和3)访问不同的RESTendpoint。但是当我试图在我的前端Web应用程序(AngularJS WebApp)中使用它时,它在chrome控制台中给我带来了以下错误。 如果我设置注释,则通过自己的地址和端口使用服务将有效。但是当通过网关访问它时,restendpo

  • 这种功能性应该如何实施?有关于这方面的指导方针或文章吗?

  • 我有一个配置了ElasticSearch的JHipster项目,我想使用“请求正文搜索”而不是“URI搜索”。 我只看到REST方法:“http://localhost:8080/api/_search/address/query=*“但我想发送一个主体json。 有办法做到这一点吗? 谢谢你!

  • 我尝试使用在集成测试套件中测试。 ()调用注入的(),后者使用调用另一个REST服务器。这导致运行测试时出现以下错误。 resourceAccessException:获取“http://test123.com/42/status”的请求时出现I/O错误:test123.com;嵌套异常为java.net.UnknownHostException:test123.com 我使用对本身进行集成测试,