Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Slim Framework: Method not allowed Method not allowed. Must be one of: POST

Tags:

rest

http

php

slim

I'm setting up a REST-server in PHP and want to allow the client to use an endpoint with different methods like GET, POST, PUT, DELETE, ... But there is a problem when I try adding the function for the POST method: The application runs the function for GET if I try to access it with POST via Postman.

I already tried to comment the GET function but if I do this, I get an error 405.

// Just a testing function for POST
$app->post('/users', function (Request $request, Response $response, array $args)
{
    $user = $request->getParsedBody();
    $response->getBody()->write(json_encode($user->getWrapperClass()));
    return $response->withHeader('Content-Type', 'application/json');
});

Anyone can help me?

like image 205
HeavyTobi Avatar asked Oct 24 '25 10:10

HeavyTobi


1 Answers

I have found the problem: It was not Postman and not my code. The problem was the URL entered in Postman: It was a http URL and the server has an automatic redirection to https. During this process the HTTP method just changed to GET instead of POST, PUT or anything else... Now changed the URL to https: It works fine now!

like image 182
HeavyTobi Avatar answered Oct 26 '25 00:10

HeavyTobi



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!