Как сопоставить строку, используя pathPrefix / rawPathPrefix в Akka HTTP? - PullRequest
0 голосов
/ 15 января 2019

Это работает:

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

id теперь Long, но это не работает:

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

id теперь RequestContext, а не String?

Ответы [ 2 ]

0 голосов
/ 19 января 2019

Один из подходов заключается в использовании шаблона регулярного выражения, который захватывает один или несколько символов от Ad( до ) в префиксе пути:

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

Например, id - это строка "12-34b" для запроса, отправленного на:

http://host:port/Ad(12-34b)
0 голосов
/ 15 января 2019

Вам нужно использовать сегмент.

path("hello"/Segment) 

Проверьте это: https://doc.akka.io/docs/akka-http/current/routing-dsl/path-matchers.html#examples

...