如何在 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)
这个有效:
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)