0

我正在尝试处理包含单词“过滤器”的请求。目前,我将 url 用作 http://localhost:9997/filter= ...。

并使用 pathPrefix(fiter) 解析

但是 url 会改变,变成 http://localhost:9997/something../filter=

所以这里我不能取pathPrefix()。如何在路由中处理这种路径,以便任何包含“过滤器”关键字的 url 都可以处理。我对akka spray很陌生。请让我知道您的意见。提前致谢

4

1 回答 1

0

如果要匹配的字符串始终位于末尾,则可以使用“pathSuffix”(对于您想要的可能就足够了)

pathSuffix("filter") { ... }

但是,如果它可以在路径中的任何位置,就不是那么简单了。一种方法是使用段:

path( Segment / "filter" / Segment ){ (prefix, postfix) => {...} }

但如果过滤器位于任一端:“filter/blah/blah”或“balh/blah/filter”,则它不匹配,但您可以通过匹配前缀和后缀来解决。我想有更好的方法,也许是自定义指令。

看看 http://spray.io/documentation/1.2.3/spray-routing/predefined-directives-alphabetically/#predefined-directives

于 2016-03-29T20:51:55.280 回答