这有效:
rawPathPrefix("Ad(" ~ LongNumber ~ ")") { id =>
id
现在是Long
,但这不起作用:
rawPathPrefix("Ad(" ~ String ~ ")") { id =>
id
现在是RequestContext
,而不是String
?
答案 0 :(得分:1)
一种方法是使用正则表达式模式来捕获路径前缀Ad(
和)
之间的一个或多个字符:
pathPrefix("""Ad\((.+)\)""".r) { id =>
...
}
例如,id
是发送到以下请求的字符串"12-34b"
:
http://host:port/Ad(12-34b)
答案 1 :(得分:-1)
您需要使用细分。
path("hello"/Segment)
检查以下内容: https://doc.akka.io/docs/akka-http/current/routing-dsl/path-matchers.html#examples