I have these routes:
+--------+----------+-------------------------------------------------+-----------------------------------+---------------------------------------------------------------------------+------------------+
| Domain | Method | URI | Name | Action | Middleware |
+--------+----------+-------------------------------------------------+-----------------------------------+---------------------------------------------------------------------------+------------------+
| | GET|HEAD | / | | Closure | web |
| | POST | api/ace/projects/{id_ccie}/project | api. | App\Http\Controllers\ProjectController@aceProjectCcieStore | api |
| | | | | | auth:api |
| | | | | | CheckUserTypeAce |
| | DELETE | api/ace/projects/{id_ccie}/project/{id_project} | api. | App\Http\Controllers\ProjectController@aceProjectCcieDestroy | api |
| | | | | | auth:api |
| | | | | | CheckUserTypeAce |
| | GET|HEAD | api/ace/projects/{id_ccie}/project/{id_project} | api. | App\Http\Controllers\ProjectController@aceProjectCcieShow | api |
| | | | | | auth:api |
| | | | | | CheckUserTypeAce |
| | PUT | api/ace/projects/{id_ccie}/project/{id_project} | api. | App\Http\Controllers\ProjectController@aceProjectCcieUpdate | api |
| | | | | | auth:api |
| | | | | | CheckUserTypeAce |
| | GET|HEAD | api/ace/projects/{id_ccie}/{pg?} | api. | App\Http\Controllers\ProjectController@aceProjectCcieIndex | api |
| | | | | | auth:api |
If I try to visit:
api/ace/projects/{id_ccie}/{pg?}
(last of the list)
I got the error:
Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException: The GET method is not supported for this route. Supported methods: POST. in file .../vendor/laravel/framework/src/Illuminate/Routing/AbstractRouteCollection.php on line 117
I cannot understand why!
My routes file is:
Route::group([
'prefix' => 'ace',
'as' => 'api.',
'middleware' => ['auth:api','CheckUserTypeAce'] //ace
], function () {
Route::post('/projects/{id_ccie}/project', [ProjectController::class, 'aceProjectCcieStore']) ->missing(function (Request $request) {
return response()->json(['message' => 'not found'], 404);
})->where(['id_ccie' => '[0-9]+']);
Route::get('/projects/{id_ccie}/{pg?}', [ProjectController::class, 'aceProjectCcieIndex']) ->missing(function (Request $request) {
return response()->json(['message' => 'not found'], 404);
})->where(['id_ccie' => '[0-9]+']);
Route::put('/projects/{id_ccie}/project/{id_project}', [ProjectController::class, 'aceProjectCcieUpdate']) ->missing(function (Request $request) {
return response()->json(['message' => 'not found'], 404);
})->where(['id_ccie' => '[0-9]+','id_project' => '[0-9]+']);
Route::get('/projects/{id_ccie}/project/{id_project}', [ProjectController::class, 'aceProjectCcieShow']) ->missing(function (Request $request) {
return response()->json(['message' => 'not found'], 404);
})->where(['id_ccie' => '[0-9]+','id_project' => '[0-9]+']);
Route::delete('/projects/{id_ccie}/project/{id_project}', [ProjectController::class, 'aceProjectCcieDestroy']) ->missing(function (Request $request) {
return response()->json(['message' => 'not found'], 404);
})->where(['id_ccie' => '[0-9]+','id_project' => '[0-9]+']);
removing "prefix" in route group didnt help!
thanks for any helps.