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]> 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]. > 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. > -- 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.
