Request 🔗
Route handlers have a contextual Request; Request.current retrieves it.
| Member | Result or requirement |
|---|---|
headers |
Map[HttpString, Seq[String]] |
cookies |
Seq[Cookie] |
queryParamsRaw |
Raw query parameter map |
queryParams[T] |
Parsed value; requires QueryStringRW[T] |
queryParamsValidated[T] |
Parsed and validated value; also requires Validator[T] |
bodyString |
Request body as a string |
bodyJsonRaw |
JSON syntax tree (JValue) |
bodyJson[T] |
Parsed JSON; requires JsonRW[T] |
bodyJsonValidated[T] |
Parsed and validated JSON; also requires Validator[T] |
bodyFormRaw |
Raw form data map |
bodyForm[T] |
Parsed form data; requires FormDataRW[T] |
bodyFormValidated[T] |
Parsed and validated form data; also requires Validator[T] |
Query and form target types are products such as case classes or named tuples. Parsing and validation failures are mapped by the server's ExceptionMapper.
| Target type | Example |
|---|---|
| Case class | case class Search(q: String) derives QueryStringRW |
| Named tuple | (q: String, perPage: Int) |
| Union of named tuples | (firstName: String) | (lastName: String) |
| Named tuple with a union field | (id: Int | String) |
Named tuples do not currently support the validation methods. For validated input, use a case class with a Validator instance.