我有一个客户端对公开 REST API 的服务器进行 REST 调用。这是我迄今为止实施的:
override def getData[T](reqURL: String, requestParam: Option[Seq[(String, String)]])(responseHandler: T => Unit) = {
val onSuccess: PartialFunction[String, Unit] = {
case s => responseHandler(s.asInstanceOf[T])
}
val onFailure: PartialFunction[Throwable, Unit] = {
case e => e.printStackTrace
}
val request = requestParam match {
case Some(params) => url(reqURL).as_!("user", "pass") <<? params
case None => url(reqURL).as_!("user", "pass")
}
Http(request OK as.String).onSuccess(onSuccess).onFailure(onFailure)
}
它工作得很好,但我注意到即使在调用完成后 HTTP 连接也是打开的。如何关闭此连接?我可能想在 onSuccess 或 onFailure 调用发生后执行此操作。有什么建议么?