gpt4 book ai didi

scala - 无法使用 macwire 注入(inject) Play WS 或 WSClient

转载 作者:行者123 更新时间:2023-12-01 06:26:35 27 4
gpt4 key购买 nike

这是我想要做的

package gc.services.http.playWs.lmi

import com.softwaremill.macwire.Macwire
import play.api.Play.current
import play.api.libs.ws._
import play.api.libs.ws.ning.NingAsyncHttpClientConfigBuilder
import scala.concurrent.Future
import play.api.libs.ws.{WSResponse, WSRequestHolder, WSClient}

import scala.concurrent.Future

class LmiWs extends Macwire{
val baseUrl = "http://api.lmiforall.org.uk/api/v1"
//inject plays ws client
lazy val http = wire[WSClient]

def getRequestHolder(url: String = baseUrl): WSRequestHolder = {
http.url(url)
}

def get(request: WSRequestHolder): Future[WSResponse] = {
request.get()
}
}

如果我尝试使用 wire[WS] IntelliJ 给出无法解析符号。 IntelliJ 中没有显示上述错误,但在编译时 mac 线抛出

annot find constructor for WeakTypeTag[play.api.libs.ws.WSClient]



此类只是为我要访问的应用程序定义基本路由,并且每个特定路由都会被一些不同的类扩展。我希望能够模拟 WS 依赖项,这样当我测试这个和后代类时,我可以在不发送实际 HTTP 请求的情况下这样做。

最佳答案

也许你可以试试这个:

  lazy val http: WSClient = WS.client

关于scala - 无法使用 macwire 注入(inject) Play WS 或 WSClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27877535/

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