laravel route not found but is present

Viewed 67

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.

0 Answers
Related