play.api.mvc
Contains the Controller/Action/Result API to handle HTTP requests.
For example, a typical controller:
class HomeController @Inject() (val controllerComponents: ControllerComponents) extends BaseController {
def index = Action {
Ok("It works!")
}
}
Attributes
Members list
Type members
Classlikes
An abstract implementation of BaseController to make it slightly easier to use.
An abstract implementation of BaseController to make it slightly easier to use.
Attributes
- Supertypes
-
trait BaseControllertrait BaseControllerHelperstrait ControllerHelperstrait RequestImplicitstrait Renderingtrait RequestExtractorstrait AcceptExtractorstrait ContentTypestrait HeaderNamestrait Statustrait HttpProtocoltrait Resultsclass Objecttrait Matchableclass AnyShow all
Define a set of extractors allowing to pattern match on the Accept HTTP header of a request
Define a set of extractors allowing to pattern match on the Accept HTTP header of a request
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait RequestExtractorstrait ControllerHelperstrait BaseControllerHelperstrait BaseControllerclass AbstractControllertrait InjectedControllertrait MessagesBaseControllerobject ControllerHelpers.typeclass AssetsBuilderclass Assetsclass Defaultclass ExternalAssetsShow all
Convenient class to generate extractors checking if a given mime type matches the Accept header of a request. Example of use:
Convenient class to generate extractors checking if a given mime type matches the Accept header of a request. Example of use:
val AcceptsMp3 = Accepting("audio/mp3")
Then:
request match {
case AcceptsMp3() => ...
}
Attributes
- Supertypes
An action is essentially a (Request[A] => Result) function that handles a request and generates a result to be sent to the client.
An action is essentially a (Request[A] => Result) function that handles a request and generates a result to be sent to the client.
For example,
val echo = Action { request =>
Ok("Got request [" + request + "]")
}
Type parameters
- A
-
the type of the request body
Attributes
- Supertypes
- Known subtypes
-
class JavaAction
Provides helpers for creating Action values.
Provides helpers for creating Action values.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class ActionBuilderImpl[B]class IgnoringBodyclass DefaultActionBuilderImpltrait DefaultActionBuildertrait MessagesActionBuilderclass MessagesActionBuilderImpl[B]class AuthenticatedBuilder[U]Show all
- Self type
-
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ActionBuilder.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class IgnoringBodyclass DefaultActionBuilderImpl
A simple kind of ActionRefiner which, given a request (of type R), may either immediately produce a Result (for example, an error), or continue its Action block with the same request. The critical (abstract) function is filter.
A simple kind of ActionRefiner which, given a request (of type R), may either immediately produce a Result (for example, an error), or continue its Action block with the same request. The critical (abstract) function is filter.
Attributes
- Supertypes
A builder for generic Actions that generalizes over the type of requests. An ActionFunction[R,P] may be chained onto an existing ActionBuilder[R] to produce a new ActionBuilder[P] using andThen. The critical (abstract) function is invokeBlock. Most users will want to use ActionBuilder instead.
A builder for generic Actions that generalizes over the type of requests. An ActionFunction[R,P] may be chained onto an existing ActionBuilder[R] to produce a new ActionBuilder[P] using andThen. The critical (abstract) function is invokeBlock. Most users will want to use ActionBuilder instead.
Type parameters
- P
-
the parameter type which blocks executed by this builder take (output)
- R
-
the type of the request on which this is invoked (input)
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class ActionBuilderImpl[B]class IgnoringBodyclass DefaultActionBuilderImpltrait DefaultActionBuildertrait MessagesActionBuilderclass MessagesActionBuilderImpl[B]class AuthenticatedBuilder[U]trait ActionFilter[R]Show all
- Self type
-
A simple kind of ActionFunction which, given a request (of type R), may either immediately produce a Result (for example, an error), or call its Action block with a parameter (of type P). The critical (abstract) function is refine.
A simple kind of ActionFunction which, given a request (of type R), may either immediately produce a Result (for example, an error), or call its Action block with a parameter (of type P). The critical (abstract) function is refine.
Attributes
- Supertypes
- Known subtypes
-
trait ActionFilter[R]
A simple kind of ActionRefiner which, given a request (of type R), unconditionally transforms it to a new parameter type (P) to be passed to its Action block. The critical (abstract) function is transform.
A simple kind of ActionRefiner which, given a request (of type R), unconditionally transforms it to a new parameter type (P) to be passed to its Action block. The critical (abstract) function is transform.
Attributes
- Supertypes
A request body that adapts automatically according the request Content-Type.
A request body that adapts automatically according the request Content-Type.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object AnyContentAsEmpty.typeclass AnyContentAsJsonclass AnyContentAsRawclass AnyContentAsTextclass AnyContentAsXmlShow all
Factory object for creating an AnyContent instance. Useful for unit testing.
Factory object for creating an AnyContent instance. Useful for unit testing.
Attributes
- Companion
- trait
- Supertypes
- Self type
-
AnyContent.type
AnyContent - Empty request body
AnyContent - Form url encoded body
AnyContent - Form url encoded body
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AnyContentclass Objecttrait Matchableclass AnyShow all
AnyContent - Json body
AnyContent - Json body
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AnyContentclass Objecttrait Matchableclass AnyShow all
AnyContent - Multipart form data body
AnyContent - Multipart form data body
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AnyContentclass Objecttrait Matchableclass AnyShow all
AnyContent - Raw body (give access to the raw data as bytes).
AnyContent - Raw body (give access to the raw data as bytes).
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AnyContentclass Objecttrait Matchableclass AnyShow all
AnyContent - Text body
AnyContent - Text body
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AnyContentclass Objecttrait Matchableclass AnyShow all
AnyContent - XML body
AnyContent - XML body
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait AnyContentclass Objecttrait Matchableclass AnyShow all
Defines utility methods to generate Action and Results types.
Defines utility methods to generate Action and Results types.
For example:
class HomeController @Inject() (val controllerComponents: ControllerComponents) extends BaseController {
def hello(name:String) = Action { request =>
Ok("Hello " + name)
}
}
This is intended to provide the idiomatic Play API for actions, allowing you to use "Action" for the default action builder and "parse" to access Play's default body parsers. You may want to extend this to provide your own base controller class, or write your own version with similar code.
Attributes
- Supertypes
-
trait BaseControllerHelperstrait ControllerHelperstrait RequestImplicitstrait Renderingtrait RequestExtractorstrait AcceptExtractorstrait ContentTypestrait HeaderNamestrait Statustrait HttpProtocoltrait Resultsclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
class AbstractControllertrait InjectedController
Useful prewired mixins for controller components, assuming an available ControllerComponents.
Useful prewired mixins for controller components, assuming an available ControllerComponents.
If you want to extend your own AbstractController but want to use a different base "Action", you can mix in this trait.
Attributes
- Supertypes
-
trait ControllerHelperstrait RequestImplicitstrait Renderingtrait RequestExtractorstrait AcceptExtractorstrait ContentTypestrait HeaderNamestrait Statustrait HttpProtocoltrait Resultsclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait BaseControllerclass AbstractControllertrait InjectedControllertrait MessagesBaseControllerShow all
A body parser parses the HTTP request body content.
A body parser parses the HTTP request body content.
Type parameters
- A
-
the body content type
Attributes
Helper object to construct BodyParser values.
Helper object to construct BodyParser values.
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
BodyParser.type
A set of reusable body parsers and utilities that do not require configuration.
A set of reusable body parsers and utilities that do not require configuration.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
BodyParserUtils.type
Default BodyParsers.
Default BodyParsers.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
BodyParsers.type
Defines a Call, which describes an HTTP request and can be used to create links or fill redirect data.
Defines a Call, which describes an HTTP request and can be used to create links or fill redirect data.
These values are usually generated by the reverse router.
Value parameters
- method
-
the request HTTP method
- url
-
the request URL
Attributes
- Supertypes
A Codec handle the conversion of String to Byte arrays.
The base controller components dependencies that most controllers rely on.
The base controller components dependencies that most controllers rely on.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Useful mixins for controller classes.
Useful mixins for controller classes.
If you wish to write a controller with minimal dependencies, you can mix in this trait, which includes helpers and useful constants.
class MyController @Inject() (action: DefaultActionBuilder, parse: PlayBodyParsers) extends ControllerHelpers {
def index = action(parse.text) {
Ok
}
}
Attributes
- Companion
- object
- Supertypes
-
trait RequestImplicitstrait Renderingtrait RequestExtractorstrait AcceptExtractorstrait ContentTypestrait HeaderNamestrait Statustrait HttpProtocoltrait Resultsclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
trait BaseControllerHelperstrait BaseControllerclass AbstractControllertrait InjectedControllertrait MessagesBaseControllerobject ControllerHelpers.typeclass AssetsBuilderclass Assetsclass Defaultclass ExternalAssetsShow all
Attributes
- Companion
- trait
- Supertypes
-
trait ControllerHelperstrait RequestImplicitstrait Renderingtrait RequestExtractorstrait AcceptExtractorstrait ContentTypestrait HeaderNamestrait Statustrait HttpProtocoltrait Resultsclass Objecttrait Matchableclass AnyShow all
- Self type
-
ControllerHelpers.type
An HTTP cookie.
An HTTP cookie.
Value parameters
- domain
-
the cookie domain
- httpOnly
-
whether this cookie is HTTP only, i.e. not accessible from client-side JavaScript code
- maxAge
-
the cookie expiration date in seconds,
Nonefor a transient cookie, or a value 0 or less to expire a cookie now - name
-
the cookie name
- path
-
the cookie path, defaulting to the root path
/ - sameSite
-
defines cookie access restriction: first-party or same-site context
- secure
-
whether this cookie is secured, sent only for HTTPS requests
- value
-
the cookie value
Attributes
- Companion
- object
- Supertypes
Trait that should be extended by the Cookie helpers.
Trait that should be extended by the Cookie helpers.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait FlashCookieBakerclass DefaultFlashCookieBakerclass LegacyFlashCookieBakertrait SessionCookieBakerclass LegacySessionCookieBakerShow all
- Self type
This trait encodes and decodes data to a string used as cookie value.
This trait encodes and decodes data to a string used as cookie value.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait FallbackCookieDataCodecclass DefaultFlashCookieBakertrait FlashCookieBakerclass LegacyFlashCookieBakertrait JWTCookieDataCodectrait SessionCookieBakerclass LegacySessionCookieBakerShow all
Logic for encoding and decoding Cookie and Set-Cookie headers.
Logic for encoding and decoding Cookie and Set-Cookie headers.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object Cookies.type
Utilities for merging individual cookie values in HTTP cookie headers.
Utilities for merging individual cookie values in HTTP cookie headers.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
CookieHeaderMerging.type
The HTTP cookies set.
The HTTP cookies set.
Attributes
- Companion
- object
- Supertypes
Helper utilities to encode Cookies.
Helper utilities to encode Cookies.
Attributes
A cookie module that uses JWT as the cookie encoding, falling back to URL encoding.
A cookie module that uses JWT as the cookie encoding, falling back to URL encoding.
Attributes
- Supertypes
A trait representing the default action builder used by Play's controllers.
A trait representing the default action builder used by Play's controllers.
This trait is used for binding, since some dependency injection frameworks doesn't deal with types very well.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class DefaultActionBuilderImpl
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
DefaultActionBuilder.type
Attributes
- Supertypes
-
trait DefaultActionBuilderclass ActionBuilderImpl[AnyContent]class Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ControllerComponentsclass Objecttrait Matchableclass AnyShow all
The default implementation of CookieHeaders.
The default implementation of CookieHeaders.
Attributes
- Supertypes
Attributes
- Supertypes
-
trait FallbackCookieDataCodectrait FlashCookieBakertrait CookieDataCodectrait CookieBaker[Flash]class Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait JWTCookieDataCodectrait CookieDataCodecclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait ControllerComponentsclass Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
A session cookie that reads in both signed and JWT cookies, and writes out JWT cookies.
A session cookie that reads in both signed and JWT cookies, and writes out JWT cookies.
Attributes
- Supertypes
-
trait FallbackCookieDataCodectrait SessionCookieBakertrait CookieDataCodectrait CookieBaker[Session]class Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait CookieDataCodecclass Objecttrait Matchableclass AnyShow all
A cookie to be discarded. This contains only the data necessary for discarding a cookie.
A cookie to be discarded. This contains only the data necessary for discarding a cookie.
Value parameters
- domain
-
the cookie domain
- name
-
the name of the cookie to discard
- path
-
the path of the cookie, defaults to the root path
- secure
-
whether this cookie is secured
Attributes
- Supertypes
An EssentialAction underlies every Action. Given a RequestHeader, an EssentialAction consumes the request body (an ByteString) and returns a Result.
An EssentialAction underlies every Action. Given a RequestHeader, an EssentialAction consumes the request body (an ByteString) and returns a Result.
An EssentialAction is a Handler, which means it is one of the objects that Play uses to handle requests.
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
trait Action[A]class JavaAction
- Self type
Helper for creating EssentialActions.
Helper for creating EssentialActions.
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
EssentialAction.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait Filter
A trait that identifies the cookie encoding and uses the appropriate codec, for upgrading from a signed cookie encoding to a JWT cookie encoding.
A trait that identifies the cookie encoding and uses the appropriate codec, for upgrading from a signed cookie encoding to a JWT cookie encoding.
Attributes
- Supertypes
- Known subtypes
-
class DefaultFlashCookieBaker
Implement this interface if you want to add a Filter to your application
Implement this interface if you want to add a Filter to your application
object AccessLog extends Filter {
override def apply(next: RequestHeader => Future[Result])(request: RequestHeader): Future[Result] = {
val result = next(request)
result.map { r => play.Logger.info(request + "\n\t => " + r); r }
}
}
Attributes
- Companion
- object
- Supertypes
- Self type
Compose the action and the Filters to create a new Action
Compose the action and the Filters to create a new Action
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
FilterChain.type
Compose the action and the Filters to create a new Action
Compose the action and the Filters to create a new Action
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Filters.type
Helper utilities to manage the Flash cookie.
Helper utilities to manage the Flash cookie.
Attributes
- Supertypes
- Known subtypes
-
class DefaultFlashCookieBakerclass LegacyFlashCookieBaker
An Handler handles a request. Play understands several types of handlers, for example EssentialActions and WebSockets.
An Handler handles a request. Play understands several types of handlers, for example EssentialActions and WebSockets.
The Handler used to handle the request is controlled by GlobalSettings's onRequestReceived method. The default implementation of onRequestReceived delegates to onRouteRequest which calls the default Router.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait EssentialActiontrait Action[A]class JavaActiontrait Stagetrait WebSockettrait JavaHandlerShow all
The HTTP headers set.
The HTTP headers set.
Value parameters
- _headers
-
The sequence of values. This value is protected and mutable since subclasses might initially set it to a
nullvalue and then initialize it lazily.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
A variation of BaseController that gets its components via method injection.
A variation of BaseController that gets its components via method injection.
Attributes
- Supertypes
-
trait BaseControllertrait BaseControllerHelperstrait ControllerHelperstrait RequestImplicitstrait Renderingtrait RequestExtractorstrait AcceptExtractorstrait ContentTypestrait HeaderNamestrait Statustrait HttpProtocoltrait Resultsclass Objecttrait Matchableclass AnyShow all
JWT cookie encoding and decoding functionality
JWT cookie encoding and decoding functionality
Attributes
- Companion
- object
- Supertypes
- Known subtypes
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
JWTCookieDataCodec.type
Transform a value to a Javascript literal.
Transform a value to a Javascript literal.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Default JavaScript literals converters.
Default JavaScript literals converters.
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
JavascriptLiteral.type
A cookie module that uses the urlencoded cookie encoding.
A cookie module that uses the urlencoded cookie encoding.
Attributes
- Supertypes
Attributes
- Supertypes
-
trait FlashCookieBakertrait CookieDataCodectrait CookieBaker[Flash]class Objecttrait Matchableclass AnyShow all
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object Results.type
A session cookie baker that signs the session cookie in the Play 2.5.x style.
A session cookie baker that signs the session cookie in the Play 2.5.x style.
Value parameters
- config
-
session configuration
- cookieSigner
-
the cookie signer, typically HMAC-SHA1
Attributes
- Supertypes
-
trait SessionCookieBakertrait CookieDataCodectrait CookieBaker[Session]class Objecttrait Matchableclass AnyShow all
Signal a max content size exceeded.
Signal a max content size exceeded.
Attributes
- Supertypes
-
trait Serializabletrait Producttrait Equalstrait MaxSizeStatusclass Objecttrait Matchableclass AnyShow all
Signal max size is not exceeded.
The status of a max size flow.
The status of a max size flow.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class MaxSizeExceededobject MaxSizeNotExceeded.type
An abstract controller class that returns a MessagesRequest as the default Action.
An abstract controller class that returns a MessagesRequest as the default Action.
An abstract implementation of MessagesBaseController to make it slightly easier to use.
class MyController @Inject()(cc: MessagesControllerComponents) extends MessagesAbstractController(cc) {
def index = Action { implicit request: MessagesRequest[AnyContent] =>
Ok(views.html.formTemplate(form)) // twirl template with form builders
}
}
Attributes
- Supertypes
-
trait MessagesBaseControllertrait BaseControllerHelperstrait ControllerHelperstrait RequestImplicitstrait Renderingtrait RequestExtractorstrait AcceptExtractorstrait ContentTypestrait HeaderNamestrait Statustrait HttpProtocoltrait Resultsclass Objecttrait Matchableclass AnyShow all
This trait is an ActionBuilder that provides a MessagesRequest to the block:
This trait is an ActionBuilder that provides a MessagesRequest to the block:
class MyController @Inject()(
messagesAction: MessagesActionBuilder,
cc: ControllerComponents
) extends AbstractController(cc) {
def index = messagesAction { implicit request: MessagesRequest[AnyContent] =>
Ok(views.html.formTemplate(form)) // twirl template with form builders
}
}
This is useful when you don't want to have to add play.api.i18n.I18nSupport to a controller for form processing.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
A base controller that returns a MessagesRequest as the base Action.
A base controller that returns a MessagesRequest as the base Action.
Attributes
- Supertypes
-
trait BaseControllerHelperstrait ControllerHelperstrait RequestImplicitstrait Renderingtrait RequestExtractorstrait AcceptExtractorstrait ContentTypestrait HeaderNamestrait Statustrait HttpProtocoltrait Resultsclass Objecttrait Matchableclass AnyShow all
- Known subtypes
-
Controller components with a MessagesActionBuilder.
A variation of MessagesAbstractController that gets its components via method injection.
A variation of MessagesAbstractController that gets its components via method injection.
Attributes
- Supertypes
-
trait MessagesBaseControllertrait BaseControllerHelperstrait ControllerHelperstrait RequestImplicitstrait Renderingtrait RequestExtractorstrait AcceptExtractorstrait ContentTypestrait HeaderNamestrait Statustrait HttpProtocoltrait Resultsclass Objecttrait Matchableclass AnyShow all
This class is a wrapped Request that is "i18n-aware" and can return the preferred messages associated with the request.
This class is a wrapped Request that is "i18n-aware" and can return the preferred messages associated with the request.
Type parameters
- A
-
the body type of the request
Value parameters
- messagesApi
-
the injected messagesApi
- request
-
the original request
Attributes
- Supertypes
-
trait MessagesRequestHeadertrait MessagesProviderclass WrappedRequest[A]trait Request[A]trait RequestHeaderclass Objecttrait Matchableclass AnyShow all
This trait is a RequestHeader that can provide a play.api.i18n.Messages instance.
This trait is a RequestHeader that can provide a play.api.i18n.Messages instance.
This is very useful with when used for forms processing, as the form helpers defined in views.helper (e.g. inputText.scala.html) take a MessagesProvider.
Attributes
- Supertypes
- Known subtypes
-
class MessagesRequest[A]
Defines parts handled by Multipart form data.
Defines parts handled by Multipart form data.
Attributes
- Companion
- class
- Supertypes
- Self type
-
MultipartFormData.type
Binder for URL path parameters.
Binder for URL path parameters.
You can provide an implementation of PathBindable[A] for any type A you want to be able to bind directly from the request path.
For example, given this class definition:
case class User(id: Int, name: String, age: Int)
You can define a binder retrieving a User instance from its id, useable like the following:
// In your routes:
// GET /show/:user controllers.Application.show(user)
// For example: /show/42
class HomeController @Inject() (val controllerComponents: ControllerComponents) extends BaseController {
def show(user: User) = Action {
...
}
}
The definition of binder can look like the following:
object User {
implicit def pathBinder(implicit intBinder: PathBindable[Int]) = new PathBindable[User] {
override def bind(key: String, value: String): Either[String, User] = {
for {
id <- intBinder.bind(key, value).right
user <- User.findById(id).toRight("User not found").right
} yield user
}
override def unbind(key: String, user: User): String = {
intBinder.unbind(key, user.id)
}
}
}
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Parsing[A]object bindableBoolean.typeobject bindableDouble.typeobject bindableFloat.typeobject bindableInt.typeobject bindableLong.typeobject bindableString.typeobject bindableUUID.typeobject bindableChar.typeShow all
- Self type
-
PathBindable[A]
Default binders for URL path part.
Default binders for URL path part.
Attributes
- Companion
- trait
- Supertypes
- Self type
-
PathBindable.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object PathBindable.type
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
PlayBodyParsers.type
Body parsers officially supported by Play (i.e. built-in to Play)
Body parsers officially supported by Play (i.e. built-in to Play)
Attributes
- Companion
- object
- Supertypes
- Known subtypes
-
class DefaultPlayBodyParsers
This trait is a play.api.i18n.MessagesProvider that can be applied to a RequestHeader, and uses messagesApi.preferred(requestHeader) to return the messages.
This trait is a play.api.i18n.MessagesProvider that can be applied to a RequestHeader, and uses messagesApi.preferred(requestHeader) to return the messages.
Attributes
- Supertypes
- Known subtypes
-
class MessagesRequest[A]
- Self type
Binder for query string parameters.
Binder for query string parameters.
You can provide an implementation of QueryStringBindable[A] for any type A you want to be able to bind directly from the request query string.
For example, if you have the following type to encode pagination:
/**
* @param index Current page index
* @param size Number of items in a page
*/
case class Pager(index: Int, size: Int)
Play will create a Pager(5, 42) value from a query string looking like /foo?p.index=5&p.size=42 if you define an instance of QueryStringBindable[Pager] available in the implicit scope.
For example:
object Pager {
implicit def queryStringBinder(implicit intBinder: QueryStringBindable[Int]) = new QueryStringBindable[Pager] {
override def bind(key: String, params: Map[String, Seq[String]]): Option[Either[String, Pager]] = {
for {
index <- intBinder.bind(key + ".index", params)
size <- intBinder.bind(key + ".size", params)
} yield {
(index, size) match {
case (Right(index), Right(size)) => Right(Pager(index, size))
case _ => Left("Unable to bind a Pager")
}
}
}
override def unbind(key: String, pager: Pager): String = {
intBinder.unbind(key + ".index", pager.index) + "&" + intBinder.unbind(key + ".size", pager.size)
}
}
}
To use it in a route, just write a type annotation aside the parameter you want to bind:
GET /foo controllers.foo(p: Pager)
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
class Parsing[A]object bindableBoolean.typeobject bindableDouble.typeobject bindableFloat.typeobject bindableInt.typeobject bindableLong.typeobject bindableShort.typeobject bindableUUID.typeobject bindableChar.typeShow all
- Self type
Default binders for Query String
Default binders for Query String
Attributes
- Companion
- trait
- Supertypes
- Self type
-
QueryStringBindable.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
object QueryStringBindable.type
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
RangeResult.type
Handle the request body a raw bytes data.
Handle the request body a raw bytes data.
Value parameters
- initialData
-
the initial data, ByteString.empty by default.
- memoryThreshold
-
If the content size is bigger than this limit, the content is stored as file.
- temporaryFileCreator
-
the temporary file creator to store the content as file.
Attributes
- Supertypes
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait ControllerHelperstrait BaseControllerHelperstrait BaseControllerclass AbstractControllertrait InjectedControllertrait MessagesBaseControllerobject ControllerHelpers.typeclass AssetsBuilderclass Assetsclass Defaultclass ExternalAssetsShow all
The complete HTTP request.
The complete HTTP request.
Type parameters
- A
-
the body content type.
Attributes
Attributes
- Supertypes
- Known subtypes
-
trait ControllerHelperstrait BaseControllerHelperstrait BaseControllerclass AbstractControllertrait InjectedControllertrait MessagesBaseControllerobject ControllerHelpers.typeclass AssetsBuilderclass Assetsclass Defaultclass ExternalAssetsShow all
The HTTP request header. Note that it doesn't contain the request body yet.
The HTTP request header. Note that it doesn't contain the request body yet.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
- Self type
Attributes
- Companion
- trait
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
RequestHeader.type
Useful mixin for methods that do implicit transformations of a request
Useful mixin for methods that do implicit transformations of a request
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait ControllerHelperstrait BaseControllerHelperstrait BaseControllerclass AbstractControllertrait InjectedControllertrait MessagesBaseControllerobject ControllerHelpers.typeclass AssetsBuilderclass Assetsclass Defaultclass ExternalAssetsShow all
A simple HTTP response header, used for standard responses.
A simple HTTP response header, used for standard responses.
Value parameters
- _headers
-
the HTTP headers
- reasonPhrase
-
the human-readable description of status, e.g. "Ok"; if None, the default phrase for the status will be used
- status
-
the response status, e.g. 200
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
Attributes
- Companion
- class
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
ResponseHeader.type
A simple result, which defines the response header and a body ready to send to the client.
A simple result, which defines the response header and a body ready to send to the client.
Value parameters
- body
-
the response body
- header
-
the response header, which contains status code and HTTP headers
Attributes
Helper utilities to generate results.
Helper utilities to generate results.
Attributes
Helper utilities to generate results.
Helper utilities to generate results.
Attributes
- Companion
- object
- Supertypes
-
class Objecttrait Matchableclass Any
- Known subtypes
-
trait ControllerHelperstrait BaseControllerHelperstrait BaseControllerclass AbstractControllertrait InjectedControllertrait MessagesBaseControllerobject ControllerHelpers.typeclass AssetsBuilderclass Assetsclass Defaultclass ExternalAssetsobject Results.typeShow all
Helpers to create secure actions.
Helpers to create secure actions.
Attributes
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
-
Security.type
Helper utilities to manage the Session cookie.
Helper utilities to manage the Session cookie.
Attributes
- Supertypes
- Known subtypes
-
class LegacySessionCookieBaker
This trait writes out cookies as url encoded safe text format, optionally prefixed with a signed code.
This trait writes out cookies as url encoded safe text format, optionally prefixed with a signed code.
Attributes
- Supertypes
- Known subtypes
Wrap an existing request. Useful to extend a request.
Wrap an existing request. Useful to extend a request.
If you need to add extra values to a request, you could consider using request attributes instead. See the attr, withAttr, etc methods.
Attributes
- Supertypes
- Known subtypes
-
class MessagesRequest[A]