У меня есть маршрут с участком, как это:спрей маршрутизации доступа к пути 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))
}
}
}
...
По сути, есть много параметров пререканий и запросов к модели, которая идентична, но я делаю дополнительное преобразование ответа, чтобы пролить некоторые данные, если удалена итоговая конечная точка. Можно ли это сделать каким-то образом?
Я попытался добавить ctx =>
после (pathEnd | path("summary")) { ctx =>
, но это не сработало. (. Маршрут не соответствует, и никогда не возвращается ничего)
Вы можете использовать директиву 'unmatchedPath', чтобы извлечь оставшийся путь, а затем вызвать' path.isEmpty', чтобы проверить, нет ли чего-то. Это то, что вы ищете? – jrudolph
Я думал об этом, но это делало невозможным иметь другие маршруты по тем же маршрутам, что и после него. –