akka 将指令1 [选项[字符串]]转换为字符串标量

e3bfsja2  于 2022-11-06  发布在  其他
关注(0)|答案(1)|浏览(118)

我是scala的新手。我写了几行代码,它们给予了我cookie。类似于:

var dataCookie = optionalCookie("user_session").map(_.map(_.value));

dataCookie是一个Directive1[Option[String]]。我希望它是String。如何从它得到String

hujrc8aj

hujrc8aj1#

您好,欢迎来到SO!
因此,让我们按细节Directive1[Option[String]]来考虑结果类型:

  • Directive1- akka-http类,负责传入请求转换或解析传入请求。有关详细信息,请参阅:https://doc.akka.io/docs/akka-http/current/routing-dsl/directives/index.html#directives
  • Option- Scala标准库monad描述了可能的缺失值。

因此,您不能只将cookie作为字符串检索,您需要处理缺失的cookie值和另一个路由中的内置指令。请参见下一个代码片段:

higherRoute ~> optionalCookie("user_session") {
    case Some(session) => 
       println(s"User session: $session") // handle present session cookie value 
    case None => //handle absent session cookie value 
}

其中,higherRoute只是Route的一个示例,您需要在其中附加给定的逻辑块。
有关详细信息,请参阅官方文档:

希望这对你有帮助!

相关问题