Ответ 1
В соответствии с этот вопрос, он исправлен в документации. Мне нужно было добавить следующий импорт:
import play.api.libs.concurrent.Execution.Implicits._
Я вызываю веб-сервис следующим образом:
WS
.url(url)
.get
.map { response => // error occurs on this line
response.status match {
case 200 => Right(response.json)
case status => Left(s"Problem accessing api, status '$status'")
}
}
Полная ошибка: Error: Cannot find an implicit ExecutionContext, either require one yourself or import ExecutionContext.Implicits.global
В соответствии с этот вопрос, он исправлен в документации. Мне нужно было добавить следующий импорт:
import play.api.libs.concurrent.Execution.Implicits._
Начиная с Play 2.4 вы можете ввести значение по умолчанию execution context
через зависимость Guice: injection.
class Foo @Inject()()(implicit ec:ExecutionContext) {
def bar() = {
WS.url(url)
.get
.map { response => // error occurs on this line
response.status match {
case 200 => Right(response.json)
case status => Left(s"Problem accessing api, status '$status'")
}
}
}
Альтернативный вариант:
import scala.concurrent.ExecutionContext.Implicits.global