Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

Faisal's avatar

Static route "/api/v1/admin/vendors/categories" is shadowed by previously defined variable route "/api/v1/admin/vendors/([^/]+)" for method "GET"

I am using Lumen 5.8 and when i using put method in multiple uri's in a single prefix, i got this error. This is my Route

$router->group(['prefix' => 'vendors'], function () use ($router){

    //vendor 
    $router->get('/','Vendor\VendorController@index');
    $router->get('/{id}','Vendor\VendorController@show');
    $router->post('/','Vendor\VendorController@store');
    $router->put('/{id}','Vendor\VendorController@update');
    $router->post('/image','Vendor\VendorController@updateImage');
    $router->delete('delete/{id}','Vendor\VendorController@destroy');
    $router->get('list/all','Vendor\VendorController@list');

    //vendor category
    $router->get('categories','Vendor\VendorCategoryController@index');
    $router->post('categories','Vendor\VendorCategoryController@store');
    $router->get('categories/{category_id}','Vendor\VendorCategoryController@show');
    $router->put('categories/{id}','Vendor\VendorCategoryController@update');
    $router->delete('categories/delete/{id}','Vendor\VendorCategoryController@destroy');
    $router->post('categories/image','Vendor\VendorCategoryController@updateImage');    
    $router->get('categories/list/all','Vendor\VendorCategoryController@list');

    //contact

    $router->get('contacts','Vendor\VendorContactController@index');
    $router->get('contacts/{id}','Vendor\VendorContactController@show');
    $router->post('contacts','Vendor\VendorContactController@store');
    $router->put('contacts/{id}','Vendor\VendorContactController@update');
    $router->post('contacts/image','Vendor\VendorContactController@updateImage');
    $router->delete('contacts/delete/{id}','Vendor\VendorContactController@destroy');
    $router->get('contacts/list/all','Vendor\VendorContactController@list');
});
0 likes
3 replies
Punksolid's avatar
Level 25

Hi @faisal just put your "/api/v1/admin/vendors/categories" before "/api/v1/admin/vendors/([^/]+)"

The //vendor category section before the //vendor section

3 likes
najathi's avatar

make route like this...

// Show ALL products
$router->get('/products', 'ProductController@index');

//show Each Products By ID
$router->get('/products/{id}', 'ProductController@show');

//store products
$router->post('/products/create', 'ProductController@store');

//update products
$router->post('/products/update/{id}', 'ProductController@update');

// Delete
$router->delete('/products/delete/{id}', 'ProductController@destroy');

Please or to participate in this conversation.