[英]cant inject plays WS or WSClient with macwire
這是我想要做的
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()
}
}
如果我嘗試連線[WS] IntelliJ給出無法解析符號。 IntelliJ中沒有顯示上述錯誤,但是在編譯mac wire throws時
annot找到WeakTypeTag的構造函數[play.api.libs.ws.WSClient]
這個類只是為我想要命中的應用程序定義基本路由,並且它將針對每個特定路由擴展為一些不同的類。 我希望能夠模擬WS依賴關系,這樣當我測試它和后代類時,我可以這樣做,而無需發送實際的HTTP請求。
也許你可以試試這個:
lazy val http: WSClient = WS.client
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.