Akka HTTP:从 Directive1[String] 中检索 ByteString

Akka HTTP: Retrieve ByteString from Directive1[String]

我几乎没有开始使用 scala 并尝试编写小项目。 我编写了消耗 graphql 请求的服务器。现在我对 jwt 令牌有疑问,因为用于验证的方法 returns Directive1[ByteString] 而不是 ByteString。 我能以某种方式取回它吗?验证后我需要来自该 jwt 令牌的声明数据

这是我正在努力处理的代码:

val directive: Directive1[ByteString] = jwt.jwtAuthenticate(Unmarshaller._fromStringUnmarshallerFromByteStringUnmarshaller)
val claim: String = ???

Akka Http Dirrective docs 中所述 - 指令是路由的构建块。所以你需要处理路由,比如:

val claim: String = dirrective { claim: String => // your token string
  complete((StatusCodes.Ok, "Handled")) // give HTTP response
}