我正在尝试添加一个补丁路由,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”