gpt4 book ai didi

jhipster - JHipster 中的微服务如何与其他微服务通信

转载 作者:行者123 更新时间:2023-12-02 22:10:09 26 4
gpt4 key购买 nike

我计划创建一个微服务应用程序,其中包含用于处理数据的专用服务(主要是基于 Mongodb 的服务)。我想知道是否有一种方法可以让我的其他微服务能够与此服务进行通信以利用共享数据。 JHipster API 网关可以吗?如果不是,我怎样才能实现这一目标。我不想在每个微服务中保留相同数据的多个副本。

最佳答案

您还可以将 Feign 客户端与 JHipster 结合使用。

使用 @EnableFeignClients 注释您的 SpringBootApplication

...
import org.springframework.cloud.openfeign.EnableFeignClients;
...
@SpringBootApplication
@EnableConfigurationProperties({LiquibaseProperties.class, ApplicationProperties.class})
@EnableDiscoveryClient
@EnableFeignClients
public class MyApp {
...
}

在微服务中创建 Feign 客户端

...
import org.springframework.cloud.openfeign.FeignClient;
...
@FeignClient("another-service")
public interface AnotherClient {

@RequestMapping(method = RequestMethod.GET, value = "/api/another")
List<AnotherDTO> getAll();
}

使用@Autowired注入(inject)Feign客户端并调用它。它应该可以使用了。

@RestController
@RequestMapping("/api")
public class MyResource {
...
@Autowired
private AnotherClient anotherClient;
...
@GetMapping("/another")
@Timed
public List<AnotherDTO> getAll() {
log.debug("REST request to get all");
return anotherClient.getAll();
}
}

对于我们来说,它无需实现 ClientHttpRequestInterceptor 并设置 JWT token 即可工作。

关于jhipster - JHipster 中的微服务如何与其他微服务通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45311236/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com