маршрут laravel не найден, но присутствует

#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. я пробовал обходиться без промежуточного программного обеспечения, и оно отлично работает. просто зайдите в промежуточную зону