play.api.routing.sird
The Play "String Interpolating Routing DSL", sird for short.
This provides:
- Extractors for requests that extract requests by method, eg GET, POST etc.
- A string interpolating path extractor
- Extractors for binding parameters from paths to various types, eg int, long, double, bool.
The request method extractors return the original request for further extraction.
The path extractor supports three kinds of extracted values:
- Path segment values. This is the default, eg
p"/foo/$id". The value will be URI decoded, and may not traverse /'s. - Full path values. This can be indicated by post fixing the value with a *, eg
p"/assets/$path*". The value will not be URI decoded, as that will make it impossible to distinguish between / and %2F. - Regex values. This can be indicated by post fixing the value with a regular expression enclosed in angle brackets. For example,
p"/foo/$id<[0-9]+>. The value will not be URI decoded.
The extractors for primitive types are merely provided for convenience, for example, p"/foo/${int(id)}" will extract id as an integer. If id is not an integer, the match will simply fail.
Example usage:
import play.api.routing.sird._
import play.api.routing._
import play.api.mvc._
Router.from {
case GET(p"/hello/$to") => Action {
Results.Ok(s"Hello $to")
}
case PUT(p"/api/items/${int(id)}") => Action.async { req =>
Items.save(id, req.body.json.as[Item]).map { _ =>
Results.Ok(s"Saved item $id")
}
}
}
Attributes
Members list
Type members
Classlikes
Allow multiple parameters to be extracted
Allow multiple parameters to be extracted
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
&.type
Attributes
- Supertypes
An extractor that extracts from a String using a play.api.mvc.PathBindable.
An extractor that extracts from a String using a play.api.mvc.PathBindable.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Extractors that bind types from paths using play.api.mvc.PathBindable.
Extractors that bind types from paths using play.api.mvc.PathBindable.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
The path extractor.
The path extractor.
Supported data types that can be extracted from:
- play.api.mvc.RequestHeader
- String
- java.net.URI
- java.net.URL
Value parameters
- partDescriptors
-
Descriptors saying whether each part should be decoded or not.
- regex
-
The regex that is used to extract the raw parts.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PathExtractor.type
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
An extractor that extracts requests by method.
An extractor that extracts requests by method.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Extractors that extract requests by method.
Extractors that extract requests by method.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Supertypes
Attributes
- Supertypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
Types
The query string type
The query string type
Attributes
Value members
Inherited fields
Extracts a DELETE request.
Extracts a GET request.
Extracts a HEAD request.
Extracts an OPTIONS request.
Extracts a PATCH request.
Extracts a POST request.
Extracts a PUT request.
A boolean extractor.
A double extractor.
A float extractor.
An int extractor.
A long extractor.
A UUID extractor.
Extensions
Extensions
String interpolator for required query parameters out of query strings.
String interpolator for required query parameters out of query strings.
The format must match q"paramName=${param}".
Attributes
String interpolator for multi valued query parameters out of query strings.
String interpolator for multi valued query parameters out of query strings.
The format must match q_*"paramName=${params}".
Attributes
String interpolator for optional query parameters out of query strings.
String interpolator for optional query parameters out of query strings.
The format must match q_?"paramName=${param}".
Attributes
String interpolator for optional query parameters out of query strings.
String interpolator for optional query parameters out of query strings.
The format must match q_o"paramName=${param}".
The q_? interpolator is preferred, however Scala 2.10 does not support operator characters in String interpolator methods.
Attributes
String interpolator for multi valued query parameters out of query strings.
String interpolator for multi valued query parameters out of query strings.
The format must match q_s"paramName=${params}".
The q_* interpolator is preferred, however Scala 2.10 does not support operator characters in String interpolator methods.