【问题标题】:How to call rest API from another server scala如何从另一个服务器scala调用rest API
【发布时间】:2020-03-16 04:35:05
【问题描述】:

我是 scala 的新手。目前,为了创建rest API,我正在使用spray。现在我想从另一台服务器使用 API。我在 UI 的每个按键上都调用这个 API。如果用户继续输入并且上一个请求处于挂起状态,我将使用 AbortController 中止请求。为了满足其他服务器请求,我使用了 spray-client。是这样的:

def completeService(completeRequest: CompleteRequest): Future[HttpResponse] = {

  val pipeline: HttpRequest => Future[HttpResponse] = sendReceive ~> unmarshal[HttpResponse]
  val response: Future[HttpResponse] = pipeline(Post(someremoteUrl.concat("complete"), completeRequest)
   ~> addHeader("demo", "test"))
  response
}

我可以使用上面的代码进行访问。我得到了预期的回应。但是这件事很耗时。它创建新的 TCP 连接并与主机通信,命中 API 给出响应然后终止连接。在这里终止时它有时会闲置并且不接受新连接。

有没有其他方法可以做到这一点?

【问题讨论】:

    标签: scala spray spray-client


    【解决方案1】:

    您可以使用 akka http 客户端创建休息请求。可以看详细例子here

    【讨论】:

    猜你喜欢
    • 2022-12-16
    • 2017-11-11
    • 2017-07-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-28
    • 2016-08-26
    • 2019-04-20
    相关资源
    最近更新 更多