By default provides the following endpoints:
- $base (accepts PUT and GET)
- $base/[identifier] (accepts POST and DELETE)
+ $base (operates on lists of objects and accepts GET, PUT, POST and DELETE)
+ $base/[identifier] (operates on a single object and accepts GET, PUT, POST and DELETE)
Where $base is the URI described by L</setup>, the chain root of the controller, and the request type will determine the L<Catalyst::Controller::DBIC::API> method to forward.
...
);
-=method_protected base
+=method_protected no_id
-Chained: L</setup>
+Chained: L</objects_no_id>
PathPart: none
CaptureArgs: 0
Forwards to list level methods described in L<Catalyst::Controller::DBIC::API> as follows:
-DELETE: forwards to L<Catalyst::Controller::DBIC::API/object> then L<Catalyst::Controller::DBIC::API/delete>
-POST/PUT: forwards to L<Catalyst::Controller::DBIC::API/object> then L<Catalyst::Controller::DBIC::API/update_or_create>
+DELETE: L<Catalyst::Controller::DBIC::API/delete>
+POST/PUT: L<Catalyst::Controller::DBIC::API/update_or_create>
GET: forwards to L<Catalyst::Controller::DBIC::API/list>
=cut
-sub no_id : Chained('object_no_id') PathPart('') ActionClass('REST') :CaptureArgs(0) {}
+sub no_id : Chained('objects_no_id') PathPart('') ActionClass('REST') {}
sub no_id_PUT
{
$c->forward('list');
}
-sub with_id :Chained('object_with_id') :PathPart('') :ActionClass('REST') :CaptureArgs(0) {}
+=method_protected with_id
+
+Chained: L</object_with_id>
+PathPart: none
+CaptureArgs: 0
+
+Forwards to list level methods described in L<Catalyst::Controller::DBIC::API> as follows:
+
+DELETE: L<Catalyst::Controller::DBIC::API/delete>
+POST/PUT: L<Catalyst::Controller::DBIC::API/update_or_create>
+GET: forwards to L<Catalyst::Controller::DBIC::API/item>
+
+=cut
+
+sub with_id :Chained('object_with_id') :PathPart('') :ActionClass('REST') {}
sub with_id_PUT
{