对特定 Laravel 10 API 端点的 POST 请求意外执行 Web 路由而不是 api.php 路由

问题描述 投票:0回答:1

我正在使用 Laravel 10 开发 REST API 项目。尽管已为端点(/dp 和 /dj)正确配置了 Laravel API 路由,但对这两个端点的 POST 请求意外执行 Web 路由,而不是预期的 api.php 路由。有趣的是,除了这两个端点(/dp 和 /dj)的 POST 之外的所有方法都可以正常运行,其他端点的 POST 方法也是如此。例如,如果我为这两个端点(/dp 和 /dj)点击 PUT、GET 或 DELETE 方法,它们会按预期工作,但 POST 方法不会。如果我在 web.php 中删除该路由,它会返回“404 not found”。

这是我在 api.php 中的路线:

Route::group(['namespace' => 'App\Http\Controllers', 'middleware' => 'auth:sanctum'],function () {
    Route::apiResource('users', UserController::class)->middleware(['auth','verified','role:admin']);
    Route::apiResource('mous', MouController::class)->middleware(['auth','verified','role:admin|nasabah|banker']);
    Route::apiResource('office', OfficeController::class)->middleware(['auth','verified','role:admin']);
    Route::apiResource('jdp', JDPController::class)->middleware(['auth','verified','role:admin|nasabah|banker']);
    Route::apiResource('dp', DPController::class)->middleware(['auth','verified','role:admin|nasabah']);
    Route::apiResource('jdj', JDJController::class)->middleware(['auth','verified','role:admin|nasabah']);
    Route::apiResource('dj', DJController::class)->middleware(['auth','verified','role:admin|nasabah']);
});

我的网络路线:

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

这是我的 DP 控制器(/dp 和 /dj 逻辑相似,所以我只展示其中之一):

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\DokumenPribadi;
use App\Http\Resources\DPResource;
use Illuminate\Support\Facades\Auth;
use App\Http\Requests\StoreDPRequest;
use App\Http\Resources\DPCollection;
use App\Models\JenisDokumenPribadi;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Http\Response;

class DPController extends Controller
{
    // Controller methods...
}

当我尝试访问(/dj 或 /dp)端点时,它返回welcome.blade.php 的视图。如果我在 web.php 中删除该路由,它会返回 404 错误。路线确实存在于路线列表中。

以下是截图:

as shown in this photo

photo here

photo here

php laravel rest routes laravel-10
1个回答
0
投票

在邮递员中,在标题中添加以下内容:

{
   "accept": "application/json"
}

如下图:

您也可以查看Laravel Daily对此的解释。

© www.soinside.com 2019 - 2024. All rights reserved.