根据 Lagom 文档,我们可以定义外部服务 URI(如下所示)并可以从 ServiceLocator 中获取它。
ThisBuild 中的 lagomUnmanagedServices := Map("weather"-> "http://localhost:3333")
在Lagom中调用外部REST API最简单的方法是什么?
我考虑过在Lagom中使用WsClient,但我没有选择它。
Lagom 仅包含 Scala 的 WsClient,因此它提供的结果值不是 java.util.concurrent.CompletionStage
,而是 scala.concurrent.Future
。
与其他 Lagom API(如 CompletionStage#doWithService)结合起来很痛苦.
最佳答案
使用 Lagom 的第 3 方 REST 服务的一种方法是使用 Lagom Descriptor
编写第 3 方的 REST 规范。
假设您的代码想要与 Slack 的 API 交互,您将在您的应用程序中创建一个 slack-api
项目并创建 Slack descriptor在那里(你当然不需要创建一个 slack-impl
)。
然后,在您的 fancy-impl
代码中,您将依赖于 slack-api
并在您的 FancyServiceImpl
实现中注入(inject) 构造函数中的 SlackService
。
PS:要点是 scala 代码,但同样的想法适用于 Lagom 的 Java DSL。
关于java - 在 Lagom 中使用外部 REST 服务最简单的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37508302/