Получить запрос с 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]
}