API POST 请求在邮递员和 Laravel 上返回 404 NOT FOUND PAGE

Posted

技术标签:

【中文标题】API POST 请求在邮递员和 Laravel 上返回 404 NOT FOUND PAGE【英文标题】:API POST request returns 404 NOT FOUND PAGE on postman and Laravel 【发布时间】:2021-11-04 05:15:31 【问题描述】:

我在 laravel 上创建了这个 api api 路由..

Route::get('/items', [ItemController::class, 'index']);
Route::prefix('/item', function () 
Route::post('/store', [ItemController::class, 'store']);
Route::put('/id', [ItemController::class, 'update']);
Route::delete('/store', [ItemController::class, 'destroy']);

当我在邮递员上使用 GET 请求时,一切正常,但是当我使用 POST 请求时,我得到 404 not Found Page!

这是我在项目控制器上的存储功能

    public function store(Request $request)



    $newItem = new Item();
    $newItem->name = request()->item["name"];
    $newItem->save();

    return $newItem;

【问题讨论】:

您的路线在语法上不正确。请更新它。 我的路线有什么问题? 为什么要改成图片?路由前缀语法错误:你需要使用->group()laravel.com/docs/8.x/routing#route-group-prefixes 【参考方案1】:

路由组应该这样写

Route::prefix('item')->group(function () 
    Route::post('/store', [ItemController::class , 'store']);
    ...
);

【讨论】:

我还要补充一点,看看使用 Route::resource(),因为你使用的是典型的 URL,Laravel 可以自动为你添加它们并清理你的路由文件.

以上是关于API POST 请求在邮递员和 Laravel 上返回 404 NOT FOUND PAGE的主要内容,如果未能解决你的问题,请参考以下文章

POST 请求适用于 Postman,但不适用于 Guzzle

Laravel POST 路由返回 HTTP 代码 200 但没有创建记录

在 Laravel POST 请求上重定向 302

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

如何将两个不同的对象传递给邮递员中的 POST 请求以测试 RESTful API?

Laravel api路线与邮递员不工作