configureRateLimiting(); $this->routes(function () { Route::prefix('api') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api.php')); Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/web.php')); Route::bind('car', function ($value) { if (in_array(Route::currentRouteName(), ['cars.show', 'cars.restore'])) { return Car::withTrashed()->find($value); } return Car::find($value); }); Route::bind('contract', function ($value) { if (in_array(Route::currentRouteName(), ['contracts.show', 'contracts.restore'])) { return Contract::withTrashed()->find($value); } return Contract::find($value); }); }); } /** * Configure the rate limiters for the application. * * @return void */ protected function configureRateLimiting() { RateLimiter::for('api', function (Request $request) { return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip()); }); } }