【问题标题】:How to catch a slash-ending URL in spray-routing?如何在喷雾路由中捕获以斜杠结尾的 URL?
【发布时间】:2014-08-14 07:03:32
【问题描述】:

Spray 非常简单,但我在理解路由时遇到了问题。就像狗有时会捡骨头,有时却不会。我错过了什么?

有没有办法查看 Spray 尝试了哪些路线,以及为什么它放弃了某些路线?这将基本上解决这个问题。我在下面的logRequest 只是显示了请求,但没有告诉我为什么路径无法匹配它。

  ...
  (get & logRequest("SAY AAA:")) {
    path("results") {    
        complete("results")
    } ~
    path("results/") {    // does not work
        complete("results/")
    } ~
    complete("fallback")
  }

导致:

"results/aaa" -> fallback
"results/" -> fallback
"results" -> results

我怎样才能拿到"results/" 的箱子?

略有相似的问题:19556196

附录: 我让它与path("results" / "")一起工作。为什么"results/" 不起作用?

【问题讨论】:

    标签: spray


    【解决方案1】:

    好的,看来正确的方法是:

        (pathPrefix("results") & pathEndOrSingleSlash) {
          complete( "results[/]" )
        }
    

    这将匹配resultsresults/,这是我想要的。

    Discussion on the background

    pathEndOrSingleSlashdoc with sample

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多