Under the hood, all the sugar declarations are turned into Chained subs. All chain end points are declared using one of get, get_html, post, put, or del. These will declare actions using the Catalyst::Action::REST::ForBrowsers action class from the Catalyst::Action::REST distribution.

This declares a GET handler for browsers. Use this to generate a standard HTML page for browsers while still being able to generate some sort of RESTful data response for other clients.

If a browser makes a GET request and no get_html action has been declared, a get action is used as a fallback. See Catalyst::TraitFor::Request::REST::ForBrowsers for details on how "browser-ness" is determined.

The path part for this part of the chain. If you are declaring a chain end point with get, etc., then this isn't necessary. By default, the name passed to the initial sugar function will be converted to a path part. See below for details.

All of the end point function (get, post, etc.) take a path as the first argument. By default, this will be used as the path_part for the chain. You can override this by explicitly calling path_part, in which case the name is essentially ignored (but still required).

Note that it is legitimate to pass the empty string as the name for a chain's end point.

If the end point's name does not start with a slash, it will be prefixed with the controller's namespace.

If you don't specify a chained value for an end point, then it will use the root URI, /, as the root of the chain.

By default, no arguments are specified for a chain's end point, meaning it will accept any number of arguments.

When adding subroutines for end points to your controller, a name is generated for each subroutine based on the chained path to the subroutine. Some template-based views will automatically pick a template based on the subroutine's name if you don't specify one explicitly. This won't work very well with the bizarro names that this module generates, so you are strongly encouraged to specify a template name explicitly.

Please report any bugs or feature requests to bug-catalystx-routes@rt.cpan.org, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.