SYNOPSIS use Dancer2; use Dancer2::Plugin::ParamKeywords; any '/:some_named_parameter' => sub { my $route_param = route_param('some_named_parameter'); my $get_param = query_param('some_named_parameter'); my $post_param = body_param('some_named_parameter'); }; DESCRIPTION The default Dancer2::Core::Request params accessor munges parameters in the following precedence from highest to lowest: POST parameters, named route parameters, and GET parameters. Consider the following route: post '/people/:person_id' => sub { my $person_id = param('person_id'); ... # Perform some operation using $person_id as a key }; In the above example, if the browser/client sends a parameter person_id with a value of 2 in the POST body to route /people/1, $person_id will equal 2 while still matching the route /people/1. This plugin provides keywords that wrap around params($source) for convenience to fetch parameter values from specific sources. CONFIGURATION The "munged_params" and "munged_param" keywords require you to configure an order of precedence by which to prefer parameter sources. Please see Dancer2::Core::Request params accessor for a list of valid sources. # In config.yml plugins: ParamKeywords: munge_precedence: - route - body - query If you won't be using the munged_* keywords, you don't need to bother configuring this plugin. KEYWORDS munged_param(Str) Returns the value of a given parameter from the "munged_params" hash. munged_params Returns a hash in list context or a hash reference in scalar context of parameters munged according to the precedence provided in the configuration file (from highest to lowest). query_param(Str) Returns the value supplied for a given parameter in the query string. query_params Returns the arguments and values supplied by query string. Returns a hash in list context or a hasref in scalar context. body_param(Str) Returns the value supplied for a given parameter in the POST arguments. body_params Returns arguments and values supplied by a POST request. Returns a hash in list context or a hasref in scalar context. route_param(Str) Returns the value supplied for a given named parameter in the route. route_params Returns the arguments and values suppled by the route. Returns a hash in list context or a hasref in scalar context. VERSIONING This module follows semantic versioning (http://www.semver.org).