POST请求不支持Postman GET请求



我在Laravel 8中有一个简单的路由来返回一些请求数据。但是当我在Postman中选择POST发送请求时,我得到一个错误";此路由不支持GET方法"请记住,我在Postman中选择了POST,而不是GET。

这是路线:

Route::post('post-route', 'UserController@postFunction');

这是在UserController中调用的函数:

public function postFunction(Request $request) {
return [
'id1' => $request->id1,
'id2' => $request->id2,
];
}

在Postman中,我以json:的形式传递数据

{
'id1': 1234,
'id2': 4321
}

我只是想确保我在请求中传递了正确的数据,但我收到了这个错误。为什么它试图命中GET请求?

您无法使用Postman测试POST、PUT或DELETE路由,因为Laravel使用CSRF中间件保护。

如果你真的想使用Postman,你需要在app/Http/Kernel.php:中对其进行注释以临时禁用该中间件

protected $middlewareGroups = [
'web' => [
(...)
//AppHttpMiddlewareVerifyCsrfToken::class,
],
(...)
];

但一旦您想在生产中部署项目,请不要忘记再次启用它

如果你不想临时禁用CSRF中间件,你可以按照这里提到的步骤https://gist.github.com/ethanstenis/3cc78c1d097680ac7ef0,但时间稍长。

最新更新