如何在 Akka HTTP 中使用 pathPrefix/rawPathPrefix 匹配字符串?

How to match String using pathPrefix/rawPathPrefix in Akka HTTP?

这个有效:

rawPathPrefix("Ad(" ~ LongNumber ~ ")") { id =>

id 现在是 Long,但这不起作用:

rawPathPrefix("Ad(" ~ String ~ ")") { id =>

id 现在是 RequestContext,而不是 String?

您需要使用分段。

path("hello"/Segment) 

检查这个: https://doc.akka.io/docs/akka-http/current/routing-dsl/path-matchers.html#examples

一种方法是使用正则表达式模式捕获路径前缀中 Ad() 之间的一个或多个字符:

pathPrefix("""Ad\((.+)\)""".r) { id =>
  ...
}

例如,id 是发送至

的请求的字符串 "12-34b"
http://host:port/Ad(12-34b)