=head2 user =cut sub user :Local :ActionClass('REST::ForBrowsers') Args(1) { my($self, $c, $id) = @_; $c->stash(id => $id); } =head2 user_GET Handle GET requests. =cut sub user_GET_html : Private { my($self, $c) = @_; my $id = $c->stash->{id}; my $user = $c->model('ForumDB::User')->find({ id => $id }); if($user) { $self->edit_form->process( item => $user, params => $c->request->parameters, ); $self->status_ok($c, entity => { form => $self->edit_form->render }); } else { $self->status_not_found($c, message => 'No matching user found'); } } sub user_GET : Private { my($self, $c) = @_; my $id = $c->stash->{id}; my $user = $c->model('ForumDB::User')->find({ id => $id }); if($user) { $self->status_ok($c, entity => mk_user_entity($user)); } else { $self->status_not_found($c, message => 'No matching user found'); } } sub mk_user_entity { my $user = shift; return { user => { id => $user->id, username => $user->username, password => $user->password, } }; }