未找到laravel api路由但存在于路由列表中

Sin*_*ina 5 php laravel

我正在尝试添加一个补丁路由,routes/api.php但即使在尝试后我也得到“找不到路由” route:cache。它已注册route:list并且该范围内的其他路由正在工作。

这是我的代码:

<?php

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;

Route::group([
    'prefix' => 'v1',
    'namespace' => 'App\Http\Controllers\Api\V1',
], function() {

    Route::group([
        'prefix' => '/users',
    ], function() {
        Route::get('/{user}', 'UsersController@show');
        Route::patch('/{user}/updateStatus', 'UsersController@updateStatus');
    });

});

Run Code Online (Sandbox Code Playgroud)

这是我在控制器操作中的代码:


<?php

namespace App\Http\Controllers\Api\V1;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;

class UserController extends Controller {
    public function updateStatus(Request $request, User $user) {
         # my logic
    }
}
Run Code Online (Sandbox Code Playgroud)

该路线已注册为/api/v1/users/{user}/updateStatus但我得到 404。

顺便说一句,我使用的是 laravel 8 和 php 7.3

小智 3

我认为网络服务器会自动将 url 更改为小写,因此您必须在 laravel 路由中使用小写,因此您必须将“updateStatus”更改为“updatestatus”或“update-status”