栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何响应演员呼吁的结果?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何响应演员呼吁的结果?

这可以通过结合使用

onComplete
指令和Ask模式来实现。

在下面的示例中,

RequestHandlerActor
actor用于创建
HttpResponse
基于的
HttpRequest
。从路线内询问此演员。

我从来没有使用Java来路由代码,所以我的回应是在Scala中。

import scala.concurrent.duration._import akka.actor.ActorSystemimport akka.http.scaladsl.model.HttpResponseimport akka.http.scaladsl.model.HttpRequestimport akka.actor.Actorimport akka.http.scaladsl.server.Directives._import akka.actor.Propsimport akka.pattern.askimport akka.util.Timeoutimport scala.util.{Success, Failure}import akka.http.scaladsl.model.StatusCodes.InternalServerErrorclass RequestHandlerActor extends Actor {  override def receive = {    case httpRequest : HttpRequest =>      sender() ! HttpResponse(entity = "actor responds nicely")  }}implicit val actorSystem = ActorSystem()implicit val timeout = Timeout(5 seconds)val requestRef = actorSystem actorOf Props[RequestHandlerActor]val route =   extractRequest { request =>    onComplete((requestRef ? request).mapTo[HttpResponse]) {      case Success(response) => complete(response)      case Failure(ex) =>         complete((InternalServerError, s"Actor not playing nice: ${ex.getMessage}"))    }   }

然后,可以

bindAndHandle
像其他任何Flow一样使用此路由传递给方法。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/455093.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号