Have you tried removing sub create?
Also look at the RestTest app used for the tests to find possible bugs
in your code.
Am Mittwoch, den 24.06.2009, 02:39 +0200 schrieb Amiri Barksdale:
> I have a controller inheriting from a ControllerBase class that contains
> the following:
>
> package RestTest::ControllerBase::REST;
>
> use strict;
> use warnings;
> use base qw/Catalyst::Controller::DBIC::API::REST/;
>
> sub create :Private {
> my ($self, $c) = @_;
> $self->next::method($c);
> if ($c->stash->{created_object}) {
> %{$c->stash->{response}->{new_object}} =
> %$c->stash->{created_object}->get_columns;
> }
> }
>
> 1;
>
>
> All the ControllerBase does is stash that object on create requests. I
> was following lukes's example at
> http://search.cpan.org/~lsaunders/Catalyst-Controller-DBIC-API-1.003000/lib/Catalyst/Controller/DBIC/API.pm#EXTENDING.
> The relevant part of the controller is:
>
>
> package RestTest::Controller::API::REST::Artist;
>
> use strict;
> use warnings;
> use base qw/RestTest::ControllerBase::REST/;
> use JSON::Syck;
>
> __PACKAGE__->config(
> action => { setup => { PathPart => 'artist',
> Chained => '/api/rest/rest_base' } },
> ...
> );
>
>
> Now for the problem. When I go to test this:
>
> my $mech = Test::WWW::Mechanize::Catalyst->new;
> ok(my $schema = DBICTest->init_schema(), 'got schema');
>
> my $req = GET("http://localhost/api/rest/artist/list", {
> }, 'Accept' => 'text/x-json' );
> $mech->request($req);
> cmp_ok( $mech->status, '==', 200, 'open attempt okay' );
>
>
> I get the error:
>
> 'Method GET not implemented for http' =>
> '//localhost/api/rest/artist/api/rest/artist/object'
>
> Somehow my request path gets all messed up. I dumped out the $mech, and it tells
> me that $mech->base is indeed what I put. So is $mech->redirected_uri.
>
>
>
> Amiri
>
> _______________________________________________
> List: Catalyst@lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
--
LG Alex
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
T-Systems Austria GesmbH Rennweg 97-99, 1030 Wien
Handelsgericht Wien, FN 79340b
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
Notice: This e-mail contains information that is confidential and may be privileged.
If you are not the intended recipient, please notify the sender and then
delete this e-mail immediately.
*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*"*
_______________________________________________
List: Catalyst@lists.scsys.co.uk
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
Dev site: http://dev.catalyst.perl.org/
0 comments:
Post a Comment