Php 流明框架中不允许POST请求异常

Php 流明框架中不允许POST请求异常,php,http,post,request,lumen,Php,Http,Post,Request,Lumen,我已经开始按照lumen文档制作一些路由,其中显示了基本的GET和POST路由 所以我试着做了一些测试,以了解它们是如何工作的。虽然GET方法似乎如预期的那样工作,但POST路由器似乎遇到了一些问题。下面是我的测试路由器: $router->post('/foo', function ($req) { var_dump($req); die(); }); 然后,我尝试使用邮递员发出一个POST请求,如下所示: url : http://localhost:8000/foo raw

我已经开始按照lumen文档制作一些路由,其中显示了基本的GET和POST路由

所以我试着做了一些测试,以了解它们是如何工作的。虽然GET方法似乎如预期的那样工作,但POST路由器似乎遇到了一些问题。下面是我的测试路由器:

$router->post('/foo', function ($req) {
    var_dump($req); die();
});
然后,我尝试使用邮递员发出一个POST请求,如下所示:

url : http://localhost:8000/foo
raw body of my request: {"key":"thisbodyrequestisdone"}
因此,我希望看到我的body$req参数的var_转储通过客户端发送到。但它显示了这样一个信息:

MethodNotAllowedHttpException

也许我遗漏了什么。有人能确切地告诉我如何在lumen内以正确的方式发出POST请求吗?谢谢你的建议

更新:下面是尝试使用
$req->all()
时的一些附加屏幕截图:


要使其工作,您应键入
$req
变量,如文档所述:

要通过依赖项注入获取当前HTTP请求的实例,应在控制器构造函数或方法上键入hint\HTTP\request类。服务容器将自动注入当前请求实例

因此,您的代码应该是:

$router->post('/foo', function (Request $req) {
    var_dump($req); die();
});

还要确保导入带有
use-illumb\Http\Request的请求类

谢谢您的回复。实际上,如果我对$req对象进行var_转储,那么输出非常长。。我怎样才能轻松访问POST请求的主体?你可以使用“$req->all()”来访问,但是使用$req->all()我得到一个空数组,而在主体负载中我有{“key”:“ThisBodyRequestIsOne”},我希望它是数组。你能用屏幕截图或其他有关你如何执行POST的相关信息来更新你的答案吗?我认为这里出现了一些问题,因为它应该返回一个包含所有输入变量的数组。Ravel试图自己解析它,原始数据不是作为键值组合传递的,而是作为一个原始字符串传递的,您可以随意解析它,而不是预定义的键值组合。这也适用于带有$req->getContent()的laravel