annotation

Athena::Routing::Annotations::Route

Annotation representation of an ART::Route. Most commonly this will be applied to a method to define it as the controller for the related route, but could also be applied to a controller class to apply defaults to all other ARTA::Route within it. Custom implementations may support alternate APIs. See ART::Route for more information.

Configuration

Various fields can be used within this annotation to control how the route is created. All fields are optional unless otherwise noted.

WARNING: Not all fields may be supported by the underlying implementation.

path

Type: String | Hash(String, String) - required

The path of the route.

name

Type: String

The unique name of the route. If not provided, a unique name should be created automatically.

requirements

Type: Hash(String, String | Regex)

A Hash of patterns that each parameter must match in order for the route to match.

defaults

Type: Hash(String, _)

The values that should be applied to the route parameters if they were not supplied within the request.

host

Type: String | Regex

Require the host header to match this value in order for the route to match.

methods

Type: String | Enumerable(String)

A whitelist of the HTTP methods this route supports.

schemes

Type: String | Enumerable(String)

A whitelist of the HTTP schemes this route supports.

condition

Type: ART::Route::Condition

A callback used to dynamically determine if the request matches the route.

priority

Type: Int32

A value used to control the order the routes are registered in. A higher value means that route will be registered earlier.

locale

Type: String

Allows setting the locale this route supports. Sets the special _locale route parameter.

format

Type: String

Allows setting the format this route supports. Sets the special _format route parameter.

stateless

Type: Bool

If the route should be cached or not.