scala import akka.actor.ActorSystem import akka.http.scaladsl.Http import akka.http.scaladsl.model.HttpRequest import akka.http.scaladsl.model.HttpMethods._ import akka.stream.ActorMaterializer import scala.concurrent.Future import scala.util.{Failure, Success} implicit val system = ActorSystem() implicit val materializer = ActorMaterializer() import system.dispatcher val request = HttpRequest(GET, "https://api.example.com/data") val responseFuture: Future[HttpResponse] = Http().singleRequest(request) responseFuture .onComplete { case Success(response) => println(response) case Failure(ex) => println(ex.getMessage) } scala import javax.inject.Inject import play.api.libs.ws._ import scala.concurrent.Future import scala.util.{Failure, Success} class MyHttpClient @Inject()(ws: WSClient) { def postData(url: String, params: Map[String, String]): Future[WSResponse] = { val request: WSRequest = ws.url(url) val complexRequest: WSRequest = request.withHttpHeaders("Content-Type" -> "application/json") .withQueryStringParameters(params.toSeq: _*) val futureResponse: Future[WSResponse] = complexRequest.post("Request Body") futureResponse.onComplete { case Success(response) => println(response) case Failure(ex) => println(ex.getMessage) } futureResponse } } scala import dispatch._ import dispatch.Defaults._ val request = url("https://api.example.com/data").PUT val complexRequest = request.setHeader("Content-Type", "text/plain").setBody("Request Body") Http(complexRequest OK as.String) .onComplete { case Success(response) => println(response) case Failure(ex) => println(ex.getMessage) }


上一篇:
下一篇:
切换中文