Laravel 发布请求无法与邮递员一起使用

Posted

技术标签:

【中文标题】Laravel 发布请求无法与邮递员一起使用【英文标题】:Laravel post request not working with postman 【发布时间】:2019-10-01 23:36:42 【问题描述】:

我是 laravel 的新手,我遇到的问题是 post 请求无法与邮递员一起使用。我花了一整天的时间解决这个错误,但没有任何效果。也许我在某个地方犯了一个错误。您的帮助将不胜感激。

我也尝试过禁用 Kernel.php 中的以下代码

// \App\Http\Middleware\VerifyCsrfToken::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,

api.php

Route::post('country', 'Country\CountryController@countrySave');

控制器.php

 public function countrySave(Request $request)

    $country = CountryModel::create($request->all());
    return response()->json($country, 200);

web.php

Route::get('/', function () 
return view('welcome');
);

以下是错误

Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException: The POST method is not supported for this route. Supported methods: GET, HEAD. in file C:\xampp\htdocs\laravel_tutorial\blog\vendor\laravel\framework\src\Illuminate\Routing\RouteCollection.php on line 256

【问题讨论】:

您是否在 POSTMAN 中设置了必要的标头? 奇怪,在我的情况下,我只是注释掉 CSRF 并且一切正常 【参考方案1】:

“api.php”中的路由仅在 url 格式为“yoursite.com/api/yourRoute”时使用。见this answer to another question。

Laravel 正在“web.php”中寻找一个 POST 路由,你只有一个 GET 路由。您应该查看修改 URL 以告诉 Laravel 您想要“api.php”路由。

【讨论】:

我使用了正确的根目录和格式。其次,我发布并获取具有不同方法名称的路线。让路线正常工作。问题在于发布路线。

以上是关于Laravel 发布请求无法与邮递员一起使用的主要内容,如果未能解决你的问题,请参考以下文章

将 Laravel Echo 与 docker 一起使用(CORS 问题)

Laravel api路线与邮递员不工作

与作曲家一起安装的 Laravel 没有任何提示?

Laravel OAuth2 Passport API,生成令牌但无法发出请求:“未经身份验证”

Laravel Sanctum 无法使用 Postman 登录

使用邮递员的 PUT/PATCH 请求在 Laravel 中返​​回状态码 0