#php #laravel #http #routes
Вопрос:
У меня есть эти маршруты:
-------- ---------- ------------------------------------------------- ----------------------------------- --------------------------------------------------------------------------- ------------------
| Domain | Method | URI | Name | Action | Middleware |
-------- ---------- ------------------------------------------------- ----------------------------------- --------------------------------------------------------------------------- ------------------
| | GET|HEAD | / | | Closure | web |
| | POST | api/ace/projects/{id_ccie}/project | api. | AppHttpControllersProjectController@aceProjectCcieStore | api |
| | | | | | auth:api |
| | | | | | CheckUserTypeAce |
| | DELETE | api/ace/projects/{id_ccie}/project/{id_project} | api. | AppHttpControllersProjectController@aceProjectCcieDestroy | api |
| | | | | | auth:api |
| | | | | | CheckUserTypeAce |
| | GET|HEAD | api/ace/projects/{id_ccie}/project/{id_project} | api. | AppHttpControllersProjectController@aceProjectCcieShow | api |
| | | | | | auth:api |
| | | | | | CheckUserTypeAce |
| | PUT | api/ace/projects/{id_ccie}/project/{id_project} | api. | AppHttpControllersProjectController@aceProjectCcieUpdate | api |
| | | | | | auth:api |
| | | | | | CheckUserTypeAce |
| | GET|HEAD | api/ace/projects/{id_ccie}/{pg?} | api. | AppHttpControllersProjectController@aceProjectCcieIndex | api |
| | | | | | auth:api |
Если я попытаюсь навестить:
api/ace/projects/{id_ccie}/{pg?}
(последний в списке)
Я получил ошибку:
SymfonyКомпонентHttpKernelИсключениеMethodNotAllowedHttpException: Метод GET не поддерживается для этого маршрута. Поддерживаемые методы: POST. in файл …/vendor/laravel/framework/src/Illuminate/Routing/AbstractRouteCollection.php на линии 117
Я не могу понять, почему!
Мой файл маршрутов находится:
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] ']);
удаление «префикса» в группе маршрутов не помогло!
спасибо за любую помощь.
Комментарии:
1. Вы пробовали очистить кэш маршрутов?
2. да, забыл упомянуть!
3. Каков точный маршрут, по которому вы пытаетесь добраться?
4. У вас случайно нет других маршрутов, которые могли бы помешать?
5. @JahStation. я пробовал обходиться без промежуточного программного обеспечения, и оно отлично работает. просто зайдите в промежуточную зону