Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Slim框架:方法不允许方法不允许。必须是一个:职位_Php_Rest_Http_Slim - Fatal编程技术网

Php Slim框架:方法不允许方法不允许。必须是一个:职位

Php Slim框架:方法不允许方法不允许。必须是一个:职位,php,rest,http,slim,Php,Rest,Http,Slim,我正在用PHP设置一个REST服务器,希望允许客户端使用具有不同方法的端点,如GET、POST、PUT、DELETE等。。。 但是,当我尝试为POST方法添加函数时出现了一个问题:如果我尝试通过Postman使用POST访问GET,应用程序将运行GET函数 我已经尝试注释GET函数,但是如果我这样做,我会得到一个错误405 //只是POST的一个测试函数 $app->post('/users',函数(请求$Request,响应$Response,数组$args) { $user=$request

我正在用PHP设置一个REST服务器,希望允许客户端使用具有不同方法的端点,如GET、POST、PUT、DELETE等。。。 但是,当我尝试为POST方法添加函数时出现了一个问题:如果我尝试通过Postman使用POST访问GET,应用程序将运行GET函数

我已经尝试注释GET函数,但是如果我这样做,我会得到一个错误405

//只是POST的一个测试函数
$app->post('/users',函数(请求$Request,响应$Response,数组$args)
{
$user=$request->getParsedBody();
$response->getBody()->write(json_encode($user->getWrapperClass());
返回$response->withHeader('Content-Type','application/json');
});

有人能帮我吗?

我发现了问题:不是邮递员,也不是我的代码。问题是Postman中输入的URL:它是http URL,服务器自动重定向到https。在此过程中,HTTP方法只是更改为GET,而不是POST、PUT或其他任何内容。。。现在将URL更改为https:现在可以正常工作了

我相信问题在于参数的数量,将参数的数量更改为1。。。函数(Request$Request).@LeandroPapasidero没有,还是一样的问题$app->post('/users',function(Request$Request){$response=new\Slim\Http\response();$user=$Request->getParsedBody();$response->getBody()->write(json_encode($user->getWrapperClass());return$response->withHeader('Content-Type',application/json');})`你确定邮递员在发送邮件请求吗?@Nima是的,我已经检查过邮递员发送邮件了