Search code examples
laravelrouteslaravel-nova

Nova route overwriting


Nova 3 and Laravel 8

In RouteServiceProvider I added

   Route::prefix('nova-api')
       ->middleware(['nova'])
       ->domain(config('nova.domain'))
       ->namespace('App\Http\Controllers\Nova')
       ->group(base_path('routes/nova-api.php'));

And the file content is

Route::delete('/{resource}/{resourceId}/field/{field}', 'FieldDestroyController@handle');
Route::delete('/testing', 'FieldDestroyController@handle');

After restarting project I see testing route, but not nova overwritten. Is it possible to overwrite routes and how ?


Solution

  • Solution that works!

    Create new ServiceProvider

    php artisan make:provider NovaServiceProvider (or php artisan make:provider NovaRouteServiceProvider)
    
    

    And place overwrite code . In my case it is

    <?php
    
    namespace App\Providers;
    
    use Illuminate\Support\Facades\Route;
    use Laravel\Nova\NovaServiceProvider as ServiceProvider;
    
    class NovaServiceProvider extends ServiceProvider
    {
        protected function registerRoutes()
        {
            parent::registerRoutes();
    
            Route::prefix('nova-api')
                ->middleware(['nova'])
                ->domain(config('nova.domain'))
                ->namespace('App\Http\Controllers\Nova')
                ->group(base_path('routes/nova-api.php'));
    
        }
    }