dsk49208 2019-04-05 05:51
浏览 222
已采纳

Slim Framework:方法不允许方法不允许。 必须是以下之一:POST

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?

  • 写回答

1条回答 默认 最新

  • dongmi19720408 2019-04-09 09:16
    关注

    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!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?