##
sub foo {
my $self = shift;
my $object = $self->param("object") or return $self->get_id();
# ... the rest
}
####
sub cgiapp_prerun {
# ...
my $id = $self->query->param('id');
if (!$id) {
return $self->prerun_mode('get_id');
}
$self->param("object") = $self->get_obj($id);
# ...
}