module Athena::Framework::Controller::ValueResolvers
#
This type includes all of the built-in resolvers that Athena uses to try and resolve an argument for a particular controller action parameter. They run in the following order:
-
ATHR::QueryParameter
(110) - Attempts to resolve a value from theATH::Request
query parameters. -
ATHR::Enum
(105) - Attempts to resolve a value fromATH::Request#attributes
into an enum member of the related type. Works well in conjunction withART::Requirement::Enum
. -
ATHR::Time
(105) - Attempts to resolve a value from the request attributes into a::Time
instance, defaulting to RFC 3339. Format/location can be customized via theATHA::MapTime
annotation. -
ATHR::UUID
(105) - Attempts to resolve a value from the request attributes into a::UUID
instance. -
ATHR::RequestBody
(105) - If enabled, attempts to deserialize the request body into the type of the related parameter, running any validations, if any. -
ATHR::RequestAttribute
(100) - Provides a value stored inATH::Request#attributes
if one with the same name as the action parameter exists. -
ATHR::Request
(50) - Provides the currentATH::Request
if the related parameter is typed as such. -
ATHR::DefaultValue
(-100) - Provides the default value of the parameter if it has one, ornil
if it is nilable.
See each resolver for more detailed information.
Custom resolvers may also be defined.
See ATHR::Interface
for more information.