The components needed to use the controller methods
The components needed to use the controller methods
Convenient extractor allowing to apply two extractors.
Convenient extractor allowing to apply two extractors. Example of use:
request match { case Accepts.Json() & Accepts.Html() => "This request accepts both JSON and HTML" }
Generates a ‘202 ACCEPTED’ result.
Generates a ‘202 ACCEPTED’ result.
Common extractors to check if a request accepts JSON, Html, etc.
Common extractors to check if a request accepts JSON, Html, etc. Example of use:
request match { case Accepts.Json() => Ok(toJson(value)) case _ => Ok(views.html.show(value)) }
The default ActionBuilder.
The default ActionBuilder. Used to construct an action, for example:
def foo(query: String) = Action { Ok }
This is meant to be a replacement for the now-deprecated Action object, and can be used in the same way.
Content-Type of binary data.
Content-Type of binary data.
Generates a ‘502 BAD_GATEWAY’ result.
Generates a ‘502 BAD_GATEWAY’ result.
Generates a ‘400 BAD_REQUEST’ result.
Generates a ‘400 BAD_REQUEST’ result.
Content-Type of application cache.
Content-Type of application cache.
Content-Type of css.
Content-Type of css.
Generates a ‘409 CONFLICT’ result.
Generates a ‘409 CONFLICT’ result.
Generates a ‘100 Continue’ result.
Generates a ‘100 Continue’ result.
Generates a ‘201 CREATED’ result.
Generates a ‘201 CREATED’ result.
Content-Type of server sent events.
Content-Type of server sent events.
Generates a ‘413 REQUEST_ENTITY_TOO_LARGE’ result.
Generates a ‘413 REQUEST_ENTITY_TOO_LARGE’ result.
Generates a ‘417 EXPECTATION_FAILED’ result.
Generates a ‘417 EXPECTATION_FAILED’ result.
Content-Type of form-urlencoded.
Content-Type of form-urlencoded. This content type does not define a charset parameter.
Generates a ‘424 FAILED_DEPENDENCY’ result.
Generates a ‘424 FAILED_DEPENDENCY’ result.
Generates a ‘403 FORBIDDEN’ result.
Generates a ‘403 FORBIDDEN’ result.
Generates a ‘302 FOUND’ simple result.
Generates a ‘504 GATEWAY_TIMEOUT’ result.
Generates a ‘504 GATEWAY_TIMEOUT’ result.
Generates a ‘410 GONE’ result.
Generates a ‘410 GONE’ result.
Content-Type of html.
Content-Type of html.
Generates a ‘505 HTTP_VERSION_NOT_SUPPORTED’ result.
Generates a ‘505 HTTP_VERSION_NOT_SUPPORTED’ result.
Generates a ‘418 IM_A_TEAPOT’ result.
Generates a ‘418 IM_A_TEAPOT’ result.
Generates a ‘507 INSUFFICIENT_STORAGE’ result.
Generates a ‘507 INSUFFICIENT_STORAGE’ result.
Generates a ‘500 INTERNAL_SERVER_ERROR’ result.
Generates a ‘500 INTERNAL_SERVER_ERROR’ result.
Content-Type of javascript.
Content-Type of javascript.
Content-Type of json.
Content-Type of json. This content type does not define a charset parameter.
Generates a ‘423 LOCKED’ result.
Generates a ‘423 LOCKED’ result.
Generates a ‘405 METHOD_NOT_ALLOWED’ result.
Generates a ‘405 METHOD_NOT_ALLOWED’ result.
Generates a ‘301 MOVED_PERMANENTLY’ simple result.
Generates a ‘301 MOVED_PERMANENTLY’ simple result.
the URL to redirect to
Generates a ‘207 MULTI_STATUS’ result.
Generates a ‘207 MULTI_STATUS’ result.
Generates a ‘204 NO_CONTENT’ result.
Generates a ‘204 NO_CONTENT’ result.
Generates a ‘203 NON_AUTHORITATIVE_INFORMATION’ result.
Generates a ‘203 NON_AUTHORITATIVE_INFORMATION’ result.
Generates a ‘406 NOT_ACCEPTABLE’ result.
Generates a ‘406 NOT_ACCEPTABLE’ result.
Generates a ‘404 NOT_FOUND’ result.
Generates a ‘404 NOT_FOUND’ result.
Generates a ‘501 NOT_IMPLEMENTED’ result.
Generates a ‘501 NOT_IMPLEMENTED’ result.
Generates a ‘304 NOT_MODIFIED’ result.
Generates a ‘304 NOT_MODIFIED’ result.
Generates a ‘200 OK’ result.
Generates a ‘200 OK’ result.
Generates a ‘206 PARTIAL_CONTENT’ result.
Generates a ‘206 PARTIAL_CONTENT’ result.
Generates a ‘402 PAYMENT_REQUIRED’ result.
Generates a ‘402 PAYMENT_REQUIRED’ result.
Generates a ‘308 PERMANENT_REDIRECT’ simple result.
Generates a ‘308 PERMANENT_REDIRECT’ simple result.
the URL to redirect to
Generates a ‘412 PRECONDITION_FAILED’ result.
Generates a ‘412 PRECONDITION_FAILED’ result.
Generates a redirect simple result.
Generates a redirect simple result.
Call defining the URL to redirect to, which typically comes from the reverse router
HTTP status for redirect, such as SEE_OTHER, MOVED_TEMPORARILY or MOVED_PERMANENTLY
Generates a redirect simple result.
Generates a redirect simple result.
Call defining the URL to redirect to, which typically comes from the reverse router
Generates a redirect simple result.
Generates a redirect simple result.
the URL to redirect to
queryString parameters to add to the queryString
HTTP status for redirect, such as SEE_OTHER, MOVED_TEMPORARILY or MOVED_PERMANENTLY
Generates a redirect simple result.
Generates a redirect simple result.
the URL to redirect to
HTTP status
Generates a ‘408 REQUEST_TIMEOUT’ result.
Generates a ‘408 REQUEST_TIMEOUT’ result.
Generates a ‘205 RESET_CONTENT’ result.
Generates a ‘205 RESET_CONTENT’ result.
Generates a ‘303 SEE_OTHER’ simple result.
Generates a ‘503 SERVICE_UNAVAILABLE’ result.
Generates a ‘503 SERVICE_UNAVAILABLE’ result.
Generates a simple result.
Generates a ‘101 Switching Protocols’ result.
Generates a ‘101 Switching Protocols’ result.
Content-Type of text.
Content-Type of text.
Used to mark an action that is still not implemented, e.g.:
Used to mark an action that is still not implemented, e.g.:
def action(query: String) = TODO
Generates a ‘307 TEMPORARY_REDIRECT’ simple result.
Generates a ‘307 TEMPORARY_REDIRECT’ simple result.
the URL to redirect to
Generates a ‘429 TOO_MANY_REQUESTS’ result.
Generates a ‘429 TOO_MANY_REQUESTS’ result.
Generates a ‘401 UNAUTHORIZED’ result.
Generates a ‘401 UNAUTHORIZED’ result.
Generates a ‘422 UNPROCESSABLE_ENTITY’ result.
Generates a ‘422 UNPROCESSABLE_ENTITY’ result.
Generates a ‘415 UNSUPPORTED_MEDIA_TYPE’ result.
Generates a ‘415 UNSUPPORTED_MEDIA_TYPE’ result.
Generates a ‘414 REQUEST_URI_TOO_LONG’ result.
Generates a ‘414 REQUEST_URI_TOO_LONG’ result.
Content-Type of xhtml.
Content-Type of xhtml.
Content-Type of xml.
Content-Type of xml.
The default execution context provided by Play.
The default execution context provided by Play. You should use this for non-blocking code only. You can do so by passing it explicitly, or by defining an implicit in your controller like so:
implicit lazy val executionContext = defaultExecutionContext
The default FileMimeTypes provided by Play.
The default FileMimeTypes provided by Play. Used to map between file name extensions and mime types.
The MessagesApi provided by Play.
The MessagesApi provided by Play. This can be used to provide the MessagesApi needed by play.api.i18n.I18nSupport.
The default body parsers provided by Play.
The default body parsers provided by Play. This can be used along with the Action helper to customize the body parser, for example:
def foo(query: String) = Action(parse.tolerantJson) { request => Ok(request.body) }
Retrieve the flash scope implicitly from the request.
Retrieve the flash scope implicitly from the request.
For example:
def index(name:String) = Action { implicit request => val message = request2flash("message") Ok("Got " + message) }
Retrieves the session implicitly from the request.
Retrieves the session implicitly from the request.
For example:
def index(name:String) = Action { implicit request => val username = request2session("username") Ok("Hello " + username) }
The default Langs provided by Play.
The default Langs provided by Play. Can be used to determine the application's supported languages.
the codec
charset appended to mimeType
(Since version 2.6.0) Use TOO_MANY_REQUESTS instead
Generates a ‘429 TOO_MANY_REQUEST’ result.
Generates a ‘429 TOO_MANY_REQUEST’ result.
(Since version 2.6.0) Use TooManyRequests instead
Defines utility methods to generate
Action
andResults
types.For example:
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.