Ответ 1
На самом деле вы можете сделать это намного лучше. В маршрутизации есть две директивы: parameter
и parameters
, я думаю, разница размыта, вы также можете использовать некоторые модификаторы: !
и ?
. В случае !
это означает, что этот параметр должен быть предоставлен или запрос будет отклонен, а ?
возвращает параметр, поэтому вы можете указать параметр по умолчанию в этом случае. Пример:
val route: Route = {
(path("search") & get) {
parameter("q"!) { query =>
....
}
}
}
val route: Route = {
(path("search") & get) {
parameters("q"!, "filter" ? "all") { (query, filter) =>
...
}
}
}