我正在Scala中使用akkahtp,试图与API进行交互,但是在获取某些API调用的数据时遇到了一些问题。基本上,我有一个curl命令,可以在我的终端中对这个特定API的任何有效API调用起作用,但是在我当前的代码中,我只获取响应足够小的调用的实际数据。
我的第一次尝试是使用系统过程还有那个!!方法在字符串上使用“curl(url)-xget-H\”Authorization:bearner(auth token)\”(这是在我的终端中工作的命令),但是由于解析头时出现问题,scala中出现了一个错误,因此在这方面没有取得任何进展,并且意识到我无论如何都想使用AkkaHTTP,我放弃了这种方法,转而使用下面的代码我从另一个stackoverflow帖子借用的格式。
implicit val system = ActorSystem()
implicit val materializer = ActorMaterializer()
implicit val executionContext = system.dispatcher
val responseFuture: Future[HttpResponse] = Http().singleRequest(HttpRequest(
uri = "(url)").withHeaders(
RawHeader("Authorization", "Bearer (auth token)")
))
responseFuture
.onComplete {
case Success(res) => println(res)
case Failure(_) => "failure"
}