我不确定我是否缺少一些真正基本的东西,但我不知道如何使用WSClient
. 我已经看到所有示例都说您需要将 WSClient 作为依赖项传递给一个类,我已经这样做了,但是当我运行程序时,我实际上传递给我的类的是什么?
例如,我的班级签名是:
class myClassName(ws: WSClient)
但是当我实例化这个类时,我实际上传递给它什么?我也很乐意忽略 Play!框架的东西,如果这使它更容易,只需使用 SBT 来运行它(我更熟悉)。
我不确定我是否缺少一些真正基本的东西,但我不知道如何使用WSClient
. 我已经看到所有示例都说您需要将 WSClient 作为依赖项传递给一个类,我已经这样做了,但是当我运行程序时,我实际上传递给我的类的是什么?
例如,我的班级签名是:
class myClassName(ws: WSClient)
但是当我实例化这个类时,我实际上传递给它什么?我也很乐意忽略 Play!框架的东西,如果这使它更容易,只需使用 SBT 来运行它(我更熟悉)。
目前尚不清楚您可能在哪里使用 a ,WSClient
但建议您让 Play 框架“管理”客户端实例。当您实例化您的应用程序时,它会被注入:
class Application @Inject() (ws: WSClient) extends Controller {
...
}
这意味着...
您可以在内部访问ws
作为值。您可以使用它进行实例化myClassName
:
class Application @Inject() (ws: WSClient) extends Controller {
val myclass = myClassName(ws) // passes the injected WSClient to myClassName
}
或者您可以编写一个返回 的函数WSClient
,以便代码的其他一些区域可以调用您的Application
对象以获取它的对象处理程序。
但关键是Application
对象因为注入而获得了那个句柄,也就是@Inject
注解。
如果您需要WSClient
手动生成并管理它,这里有很好的说明。推荐的实现依赖于 Play!框架库,但不依赖于Application
.