我有這樣的一個部分的路線:噴霧路由訪問URL路徑
...
(pathEnd | path("summary")) {
parameters(...).as(Query) { query =>
onSuccess(model ? query) {
case MyResponse(list) =>
// at this point I would like to know if I hit pathEnd or
// path(summary) so I can complete with summary or full response.
if (???)
complete(OK, list)
else
complete(OK, list map (_.toSummary))
}
}
}
...
本質上有爭論,這是相同型號的查詢了很多參數的,但是我在做一個額外的改造如果總結端點被擊中,則迴應的部分數據會丟失。有沒有可能以某種方式做到這一點?
我試圖在(pathEnd | path("summary")) { ctx =>
之後加入ctx =>
,但那根本不起作用。 (路線不匹配,就再也沒有回來的任何東西)
您可以使用'unmatchedPath'指令提取剩餘的路徑,然後調用'path.isEmpty'來檢查是否還有剩下的東西。那是你在找什麼? – jrudolph
我想到了這一點,但它使得它不可能在其後的相同路線下有其他路線。 –