Scala Play WS API的问题:WSRequestHolder类型的表达式不符合WSRequest类型

时间:2016-02-16 18:10:43

标签: web-services scala playframework sbt

我有一个非常简单的Scala Play应用程序,我想在其中使用WS library

我只想重现一个简单的例子:

val request: WSRequest = WS.client
   .url(s"https://www.instagram.com/explore/tags/gibtsnicht")
   .withRequestTimeout(40000) // *
val futureResponse: Future[WSResponse] = request.get() // **

但这并没有编译。

它说:

*:Expression of type WSRequestHolder doesn't conform to type WSRequest

**:Cannot resolve symbol get

我将ws添加到build.sbt中的相关内容并调整Application.scala,如docs中所述):

class Application @Inject() (ws: WSClient) extends Controller {

但是,这不起作用,因为找不到Inject。导入import javax.inject._无济于事。有谁知道我哪里出错了?

2 个答案:

答案 0 :(得分:2)

此:

val request: WSRequest = ws.url(s"https://www.instagram.com/explore/tags/gibtsnicht")
   .withRequestTimeout(40000)

应该是

{{1}}

答案 1 :(得分:0)

Total Steps: {{ $task->steps()->done()->count() }} 是一个Singleton对象,在您调用play.api.libs.ws.WS方法时返回WSRequestHolderhttps://www.playframework.com/documentation/2.0/api/scala/play/api/libs/ws/WS $。HTML

url