Получить запрос с Rapture Http

Я создаю API с Rapture в Scala и не могу решить проблему с неявным отсутствием области действия. Вот вывод ошибки, которую я получаю.

[error] /Users/Petesta/Documents/scala-project/src/main/scala/scala-project/main.scala:35: an implicit TimeSystem is required; please import timeSystems.numeric or timeSystems.javaUtil
[error] Error occurred in an application involving default arguments.
[error]     val response = h.get()
[error]                         ^
[error] one error found
[error] (compile:compile) Compilation failed
[error] Total time: 5 s, completed Oct 16, 2014 3:36:10 PM

Вот код, на котором он терпит неудачу.

def getUser(userName: String) = {
    val h = Http / "some_url" / "user" / userName /? Map('key -> "value")
    val response = h.get()
}

Я не уверен, что делать, потому что я пытался импортировать обе библиотеки по отдельности, и ошибка все та же.

Я также добавил -Xlog-implicits флаг, чтобы увидеть, если что-то вызывает ошибку, но дополнительная информация не выводится.

Есть ли хороший ресурс с использованием библиотеки Rapture-Net для HTTP-запросов? Я не смог найти ничего, кроме слайдов Джона Красавчика в Scala By The Bay. Я не мог найти способ передать URL со строками запроса в Rapture-URI, так как он ожидает, что вызов функции будет выглядеть следующим образом uri"url_dot_domain_with_query_strings".slurp[Char],

Есть идеи?

1 ответ

Ошибка компиляции не совсем корректна в этом случае. Вам нужен 1 из 2 импортов И вам нужно указать значение тайм-аута.

def getUser(userName: String) = {
  import timeSystems.numeric
  val h = Http / "some_url" / "user" / userName /? Map('key -> "value")
  val response = h.get(timeout = 5000L)
}

Я действительно не знаю хорошего ресурса, но ваша основная строка кода верна. Самая большая проблема с библиотекой - это документация о необходимом импорте. Но вот что я нашел для меня:

def getGoogle() = {
  import rapture.codec._
  import rapture.io._
  import rapture.uri._
  import rapture.net._
  import encodings.`UTF-8`
  uri"http://google.com".slurp[Char]
}
Другие вопросы по тегам