I've attached the file api.pm.

On Thursday, September 7, 2017 at 7:04:42 PM UTC-7, Stefan Adams wrote:
>
> What does the output of the `routes' command for your app show?
>
> What does `my_app.pl get -M GET /applications/12345' show versus `
> my_app.pl get -M PUT /applications/12345'?  Notice we're testing the 
> routes using the app directly.
>
> Your routes are /applications/:id, but your curl requests are to 
> /api/applications/:id.  Could it have anything to do with what must sit in 
> front of your app? 
>
> On Thu, Sep 7, 2017 at 8:23 PM, jcast89 <[email protected] <javascript:>> 
> wrote:
>
>> Hi,
>>
>> I have two functions:
>>
>> get '/applications/:id' => sub {
>>   my $self = shift;
>>   my $id = $self->param('id') || "Not given";
>>   $self->render(text => "id is: $id");
>>   # $c->render(json => $resp);
>> };
>>
>> put '/applications/:id' => sub {
>>   my $self = shift;
>>   my $id = $self->param('id') || "Not given";
>>   $self->render(text => "you wanna update app id: $id\n");
>>   # $c->render(json => $resp);
>> };
>>
>> the get works just fine but the put gives a 404 which i've attached.
>>
>> I'm pulling my hair out. I really don't understand why these identical 
>> requests would have different outcomes.
>>
>> Here's the curl request working correctly:
>>
>> root@docker-host 
>> /work/SteelConnect/environment-templates/docker/topologies (master) $ 
>> curl -X GET localhost/api/applications/12345
>>
>> id is: 12345
>>
>> here's it failing with a put request:
>>
>> root@docker-host 
>> /work/SteelConnect/environment-templates/docker/topologies (master) $ 
>> curl -X PUT localhost/api/applications/12345
>>
>> <!DOCTYPE html>
>>
>> <html>
>>
>>   <head><title>Page not found</title></head>
>>
>>   <style>
>>
>>       a img { border: 0 }
>>
>>       body { background-color: #caecf6 }
>>
>>       #noraptor {
>>
>>         left: 0%;
>>
>>         position: fixed;
>>
>>         top: 60%;
>>
>>       }
>>
>>       #notfound {
>>
>>         background: url(/mojo/notfound.png);
>>
>>         height: 62px;
>>
>>         left: 50%;
>>
>>         margin-left: -153px;
>>
>>         margin-top: -31px;
>>
>>         position:absolute;
>>
>>         top: 50%;
>>
>>         width: 306px;
>>
>>       }
>>
>>     </style>
>>
>>   <body>
>>
>>     <a href="http://localhost";>
>>
>>       <img alt="Bye!" id="noraptor" src="/mojo/noraptor.png">
>>
>> </a>    <div id="notfound"></div>
>>
>>   </body>
>>
>> </html>
>>
>> <!-- a padding to disable MSIE and Chrome friendly error page -->
>>
>> <!-- a padding to disable MSIE and Chrome friendly error page -->
>>
>> <!-- a padding to disable MSIE and Chrome friendly error page -->
>>
>> <!-- a padding to disable MSIE and Chrome friendly error page -->
>>
>> <!-- a padding to disable MSIE and Chrome friendly error page -->
>>
>> <!-- a padding to disable MSIE and Chrome friendly error page -->
>>
>>
>>
>> Thanks,
>> Josh
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Mojolicious" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] <javascript:>.
>> To post to this group, send email to [email protected] 
>> <javascript:>.
>> Visit this group at https://groups.google.com/group/mojolicious.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Mojolicious" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.
#!/usr/bin/env perl
use Mojolicious::Lite;
use lib 'lib', '/opt/appctrl/blib/lib';

# /foo
under '/api';

get '/applications' => sub {
  my $c = shift;
  my $resp = [{ id => "list of applications" }];
  $c->render(json => $resp);
};

get '/applications/:id' => sub {
  my $self = shift;
  my $id = $self->param('id') || "Not given";
  $self->render(text => "id is: $id");
  # $c->render(json => $resp);
};

post '/applications' => {text => "you wanna create a new app\n"};

# /foo/baz
put '/applications/:id' => sub {
  my $self = shift;
  my $id = $self->param('id') || "Not given";
  $self->render({text => "you wanna update app id: $id\n"});
};

app->start;

Reply via email to