Scala 如何从Akka HTTP请求中读取cookie值
我是Akka HTTP新手,我想知道如何从Akka HTTP请求中提取cookie。如果可能,是否有人可以发布一个示例,说明如何使用Scala执行此操作?作为说明,您可以使用Scala 如何从Akka HTTP请求中读取cookie值,scala,akka,akka-http,Scala,Akka,Akka Http,我是Akka HTTP新手,我想知道如何从Akka HTTP请求中提取cookie。如果可能,是否有人可以发布一个示例,说明如何使用Scala执行此操作?作为说明,您可以使用cookie指令从请求中提取cookie: 还有一项指令: 感谢您提醒我,在我能够清楚地理解文档之前,我需要更加熟悉这个框架。实际上,它确实帮助我花一些时间研究文档中提供的其他示例。 val route = cookie("userName") { nameCookie => complete(s"The
cookie
指令从请求中提取cookie:
还有一项指令:
感谢您提醒我,在我能够清楚地理解文档之前,我需要更加熟悉这个框架。实际上,它确实帮助我花一些时间研究文档中提供的其他示例。
val route =
cookie("userName") { nameCookie =>
complete(s"The logged in user is '${nameCookie.value}'")
}
// tests:
Get("/") ~> Cookie("userName" -> "paul") ~> route ~> check {
responseAs[String] shouldEqual "The logged in user is 'paul'"
}
// missing cookie
Get("/") ~> route ~> check {
rejection shouldEqual MissingCookieRejection("userName")
}
Get("/") ~> Route.seal(route) ~> check {
responseAs[String] shouldEqual "Request is missing required cookie 'userName'"
}
val route =
optionalCookie("userName") {
case Some(nameCookie) => complete(s"The logged in user is '${nameCookie.value}'")
case None => complete("No user logged in")
}
// tests:
Get("/") ~> Cookie("userName" -> "paul") ~> route ~> check {
responseAs[String] shouldEqual "The logged in user is 'paul'"
}
Get("/") ~> route ~> check {
responseAs[String] shouldEqual "No user logged in"
}