If you want to define a global Middleware for all API routes, for example, there are three "levels" where you can set it:
Option 1. In the routes file.
// routes/api.phpRoute::middleware(YourMiddleware::class)->group(function() { // .., all API routes})
Option 2. In the routes service provider.
// app/Providers/RouteServiceProvider.phppublic function boot(){ $this->configureRateLimiting(); $this->routes(function () { Route::middleware(['api', YourMiddleware::class]) // ...
Option 3. In the global middleware kernel file.
// app/Http/Kernel.php: add to the 'api' groupprotected $middlewareGroups = [ 'api' => [ // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, 'throttle:api', \Illuminate\Routing\Middleware\SubstituteBindings::class, YourMiddleware::class, ],];
Enjoyed This Tip?
Get access to all premium tutorials, video and text courses, and exclusive Laravel resources. Join our community of 10,000+ developers.
Recent Courses
PhpStorm Junie AI for Laravel Projects: Crash Course
7 lessons
36 min
Claude Code for Laravel Projects: Crash Course
8 lessons
48 min
NativePHP: Build Mobile App with Laravel
11 lessons
2 h 2 min read