Получить строку запроса в директиве маршрутизации Spray

Мне нужно установить перенаправление в моих директивах маршрутизации:

path("old") {
  params { p =>
    redirect("http://newu.rl/foo?" + ???, StatusCodes.PermanentRedirect)
  }
}

Могу ли я получить точную строку запроса, отправленную клиентом? Или мне нужно восстановить его по параметрам p?

1 ответ

Решение

Вы можете создать пользовательскую директиву, используя extract для извлечения строки запроса из uri:

val queryString = extract(_.request.uri.query)
path("old") {
  queryString { query =>
    redirect("http://newu.rl/foo?" + query, StatusCodes.PermanentRedirect)
  }
}
Другие вопросы по тегам