akka-http 自定义 PathMatcher

xoh*_*cj9 0 scala akka-http

许多指令(例如,参数)提供了非常方便的解组机制。

但是我没能从文档中找到类似Path Matcher 的DSL 。我认为给定适当的解组器,我会像下面这样,

implicit val userStatusUnmarshaller: FromStringUnmarshaller[UserStatus] = ???
val route = path("user" / Segment.as[UserStatus]) { status: UserStatus => 
    ...
}
Run Code Online (Sandbox Code Playgroud)

特别是当自定义解组结果是枚举时。

他们是否提供了这样的方式,但我找不到或者是否有另一种方式可以做同样的事情?

Tom*_*rek 6

您可以像这样将 flatMap 分段为 UserStatus:

    Segment.flatMap(UserStatus.fromString)
Run Code Online (Sandbox Code Playgroud)

fromString 应该回来 Option[UserStatus]